-
MFC en ligne de commande
Bonjour,
Je travaille actuellement sur une application MFC fenêtrée.
Ce que je cherche à faire :
Lancer l'application
* sans afficher l'interface (j'ai pas encore cherché mais ça doit pas être trop difficile)
* en récupérant les arguments de la ligne de commande (j'arrive à le faire)
* en gardant la main dans la console pour pouvoir lancer d'autres commandes (et c'est là que je coince)
Pour l'instant je travaille dans la méthode CWinApp::InitInstance().
Donc en gros, la question est : comment faire pour avoir un comportement d'application en ligne de commande à partir d'une application MFC ?
didierll
-
Ca fais très longtemps que j'ai pas fais de MFC mais il me semble bien que le WinMain (peut être déclaré automatiqueemnt par la creation de projet dans ton cas) fournis les paramettres de ligne de commande. Par contre, il faudra traiter les informations avant d'executer le reste de l'application.
-
Pareil que Klaim, ca fait un bail que je n'ai pas utilisé les MFC... mais pour avoir fait ça (bouton droit print en passant par notre appli, LivePix), il me semble que tu dois juste:
- Normalement, le wizard a créé un objet CCommandLineInfo pour toi, le InitInstance de base va lui filer les paramètres (histoire que tu puisses ouvir un document etc...). A toi de rajouter un flag quand tu es en mode "command line".
- Dans ce mode, ne pas initialiser la main-window (et le main-document) dans to XXXXXApp::InitInstance()
- Override CWinApp::Run() pour faire ce que tu veux dans le cas de la console (ouvrir le input-stream, y lire les entrées de l'utilisateur, ...).
-
Bonjour, merci pour vos réponses.
Klaim : Je peux pas utiliser l'assistant, j'ai reçu le projet MFC déjà fait, c'est une appli existante que je dois modifier.
J'ai creusé un peu les pistes de nicroman, j'ai pas réussi à faire exactement ce que tu disais, voilà ce que j'ai :
J'arrive à lancer l'appli en mode console mais ça pète assez vite, je dois pas tout bien initialiser. Je vais chercher une autre façon de faire, je pense que je vais devoir recoder une grosse partie dommage que les MFC soient si peu souple quand même !
didierll