Aus MFC Programm Konsolenprogramm machen



  • Hi!
    hab folgendes Problem:
    Ich hab ein MFC Programm, welches gut läuft. (noch kein Problem 😉
    wenn ich in der Konsole (cmd) "programm.exe /jetzt_als_konsole" eingib soll das ding alle MFC Sachen abschalten und als Konsolenprogramm arbeiten.
    Wie kann das funktionieren? Danke!!

    #include "afxwin.h"
    #include "stdafx.h"
    #include <iostream>
    #include <string>
    
    using namespace std;
    using namespace std;
    
    [...]
    
    	m_pMainWnd = new CMainWindow(); //nötig, um auf Parameter zugreifen zu können!
    	InitCommonControls();			//Automatischer Code
    	CWinApp::InitInstance();
    	AfxEnableControlContainer();
    
    	cout << "hallo2" << endl; // tut genau gar nichts...
    
    	CCommandLineInfo cmdInfo;		//für Parameter
    	ParseCommandLine(cmdInfo);		
    	if (!ProcessShellCommand(cmdInfo))	//falls die Parameter nicht verfügbar sind, Programm beenden
    		return FALSE;
    


  • Wenn dieser Fall eintritt, kannst du mit AllocConsole ein Konsolenfenster öffnen.



  • Würde es dabei auch funktiieren, den Clientbereich zu einer Konsolenanwendung zu machen?
    Auch mittels AllocConsole ?
    Oder geht das nicht?



  • So nicht.
    Man kann natürlich StdIn und StdOut entsprechend umbiegen und die Textausgabe mit WinGDI im Clientwindow erzeugen. Nur ist bei soviel Aufwand fraglich, warum man dann nicht gleich entsprechende printf bzw. cout Sachen schreibt bzw. kapselt.


Anmelden zum Antworten