2011-04-06 15 views
15

Deseo tener una pequeña aplicación basada en diálogo que pase los parámetros de la línea de comando, entonces, usando VC++ 6 ejecuté el asistente de la aplicación y elegí una aplicación de diálogo MFC. Esto no está automáticamente equipado con parámetros de línea de comando. Así que fui a MSDN para actualizar mi memoria en estos. MSDN declara que todos los programas C++ tienen una función main() o wmain() y que los argumentos de argc etc van aquí. La aplicación que acabo de crear no tiene estos.¿Cómo obtener los argumentos de la línea de comando en aplicaciones mfc?

Como obviamente hay una función que es el punto de entrada a la aplicación, ¿puedo incluir aquí los argumentos ? Intenté esto pero no estoy convencido de que I estaba editando la función correcta. (¿Puedo encontrar la función que está actuando como la función main() desde la configuración del proyecto o similar?)

Básicamente, ¿cómo hago que mi programa lea los parámetros de la línea de comandos.

También como una actividad secundaria. Para un programa simple, que es esto, realmente no quiero querer convertirlo en una aplicación MFC, y por lo tanto más de un MB de tamaño. ¿Hay alguna biblioteca de plantillas de asistente de aplicaciones que me permita crear una aplicación de diálogo que no sea de MFC?

Gracias

+1

Otra pregunta donde user692270 acepta la respuesta de @karthik. –

Respuesta

27

Uso GetCommandLine(), que devuelve el nombre del archivo que se está ejecutando, seguido por los argumentos.

El elemento de aplicación m_lpCmdLine (utilizado como yourApp.m_lpCmdLine) contiene sólo los argumentos.

También hay CWinApp::ParseCommandLine() que puede que le parezcan útiles.

Pruebe también el asistente COM de ATL para crear aplicaciones de diálogo que no sean MFC. (eligió la opción .exe, no .dll)

-1

"¿Hay alguna biblioteca de plantillas de asistente de aplicaciones que me permita crear una aplicación de diálogo que no sea MFC?"

Puede hacer una aplicación que no sea MFC utilizando la opción "Proyecto Win32" en Nuevo proyecto -> Visual C++ -> Win32.

O simplemente use C#, es más fácil con diferencia.

Cuestiones relacionadas