Messages in einer Console Application empfangen

henhus

Grünschnabel
Hallo alle zusammen,
ich habe 2 Anwendungen. Eine MFC Anwendung und eine Console Application Mir ist es gelungen mit der Funktion PostMessage() Nachrichten von der Console Apllication an die MFC Anwendung zu schicken und dort zu bearbeiten.
In der MFC Anwendung habe ich die Bearbeitung der Nachricht über die WindowsProc() Funktion mit Hilfe des Klassenassistenten gelöst.

Mein Problem ist jetzt, dass ich nicht weiß wie ich von Hand einen Massage Map zum bearbeiten der Nachrichten in der Console Application anlege kann.

Außerdem verfügt eine Console Application nicht über einen HWND handle. Diesen Parameter braucht man aber, wenn man mit der Funktion PostMessage() eine Nachricht an die Console Application schicken möchte.
Für Hilfe wäre ich sehr dankbar.
Ich komm einfach nicht weiter.
 
Hallo,

Ein Konsolenfenster hat ein HWND.
Da hilft dir vielleicht weiter:

Code:
BOOL CALLBACK GetCmdWindow(HWND hwnd)
{
         char sTitle[255];
         char className[255];
	 GetClassName(hwnd, className, 255);
	 std::string strClassName = className;
	 Sleep(5);

	 if(strClassName.compare("ConsoleWindowClass") == 0)  // das Fenster ist das Konsolenfenster
	 {
		GetWindowText(hwnd, sTitle, 255);  // Titel vom Konsolenfenster auslesen...
		std::string strTitle = sTitle;
                ...
                return FALSE; // wir haben das Konsolenfenster gefunden, also abbrechen die Fenster weiter durch zu gehen.
	 }
	 return TRUE;
}

Und aufgerufen wird das ganze so:
Code:
EnumWindows((WNDENUMPROC)GetCmdWindow,0);
So geht das Programm zwar jedes Fenster welches es gibt durch,
aber du findest dein Konsolenfenster.
Du kannst dir das entsprechende HWND ja dann merken.

Sollte dir der Code nicht weiterhelfen, einfach ignorieren ^^

MfG Turri
 
Zurück