Necesito cambiar la funcionalidad de una aplicación basada en el nombre del ejecutable. Nada enorme, simplemente cambiando las cadenas que se muestran y algunos identificadores internos. La aplicación está escrita en una mezcla de código nativo y .NET C++ - CLI.¿Cómo obtener el nombre del ejecutable de la aplicación en WindowsC++/CLI?
Dos formas que he analizado son analizar la función GetCommandLine() en Win32 y rellenar el AppDomain y otras cosas en .Net. Sin embargo, el uso de GetCommandLine no siempre funcionará, ya que cuando se ejecuta desde el depurador, la línea de comando está vacía. Y las aplicaciones .Net AppDomain parecen requerir mucho relleno.
Entonces, ¿cuál es la forma más simple/simple/más eficiente de determinar el nombre del ejecutable en C++/CLI? (Estoy esperando que me haya perdido algo simple que está disponible en .Net.)
Editar: Una cosa que debo mencionar es que esta es una aplicación de Windows GUI que usa C++/CLI, por lo tanto hay sin acceso a la función principal tradicional de estilo C, utiliza la función Windows WinMain().
Esta solución tiene la ventaja añadida de ser multiplataforma. –
Sí, lo hace, aunque no estoy buscando uno multiplataforma, solo uno para Windows usando Win32 o .Net. – Daemin
Eso no funciona en el caso general. – tml