API DISM: cambiar el idioma de salida

programación


Hola,
Estoy trabajando con las funciones documentadas de dismapi.dll, pero no hay ninguna opción para controlar el idioma de salida de los mensajes de error. Entonces, cuando ejecuto DismGetLastErrorMessage(), aparece un texto en alemán. ¿Puedo cambiar este comportamiento para que la API muestre un texto en inglés?

Creo que cuando cambio el idioma de mi sistema, el idioma de salida también cambiará, pero quiero servir a mi software, así que necesito un lenguaje dinámico.

¡Gracias!

Solución 2

Por favor vea mis comentarios a la pregunta.

Tolleule@web.de escribió:

No, no, me entendiste mal. Me interesa mucho la programación, pero no el puto C++, este lenguaje me confunde. Solo trabajo con Python. Ahora, sólo necesito una forma de leer la biblioteca. Cuando lo agrego a mi proyecto Win32 aparece el error “…no hay ningún editor disponible para dismapi.lib”. ¿Puedes ayudarme con eso?

Editar: ¿Es un archivo lib un archivo compilado como una DLL?

Lamento decirte: difícilmente y, lamentablemente, te entendí bastante bien.

Aún necesitas conocer muy bien C++. Entonces, digamos que puedes hacerlo en C#. No sé si tenemos un contenedor .NET para DISM. Si no, tienes que hacerlo tú mismo, y para ello tienes que entender bastante C++. Si está disponible, aún necesita conocimientos serios de .NET y C#. Finalmente, digamos que desea utilizar Python en lugar de C#. Existe algo llamado Iron Python. Significa conocer muy bien .NET. Etcétera…
Ver también:
https://en.wikipedia.org/wiki/IronPython[^],

[^].

Sin embargo, digamos que desea utilizar Python dirigido a la plataforma nativa. Pero la API y la documentación de DISM están escritas para uso de C++, por lo que necesita cierta interoperación, lo que también requerirá una buena comprensión de C++. Por favor vea, por ejemplo: http://www.boost.org/doc/libs/1_42_0/libs/python/doc/tutorial/doc/html/index.html[^].

Ahora, realmente necesitas ayuda con lib y DLL. Lib no se parece en nada a DLL. Este es un módulo de código objeto, prácticamente una colección de archivos objeto en un solo archivo (y así es como se implementa en *NIX, pero no exactamente de la misma manera en Windows). Y los archivos obj son archivos objeto del código nativo que aún está por ser vinculado estáticamente usando un enlazador en código ejecutable. Por favor mira:
https://en.wikipedia.org/wiki/Linker_%28computing%29[^],
https://en.wikipedia.org/wiki/Object_file[^]

[^].

La biblioteca Lib es una biblioteca estática y DLL es una biblioteca de enlaces dinámicos. Las bibliotecas estáticas van a la entrada del vinculador para producir un archivo ejecutable. Esos archivos ejecutables son archivos PE, Ejecutable portátil. Ahora, el punto principal es: EXE, DLL y algunos otros archivos son archivos PE. En realidad, la diferencia entre EXE y DLL es bastante sutil, pero es de suponer que DLL se usa solo como biblioteca. Estrictamente hablando, esto no siempre es así, e incluso EXE no se puede utilizar como aplicación, sino incluso como biblioteca. Por favor mira:
https://en.wikipedia.org/wiki/Portable_Executable[^],

[^].

-SA

Solución 3

Debe pasar un parámetro “/English” para obtener la salida de la línea de comandos de dism en inglés.

コメント

タイトルとURLをコピーしました