Bonjour à tous, j'ai un petit problème avec les messages Windows.
J'essaie de faire un BroadcastSystemMessage d'un message défini via RegisterWindowMessage. J'ai créé une application avec une fenêtre qui reçoit bien le message, et une autre console qui elle, ne le reçoit pas.
J'ai bien une boucle de message dans mon application console, mais aucun message ne semble lui parvenir.

Voici le code du broadcast:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
	UNREFERENCED_PARAMETER(hPrevInstance);
	UNREFERENCED_PARAMETER(lpCmdLine);
 
	BroadcastSystemMessage(
		BSF_POSTMESSAGE,
		NULL,
		RegisterWindowMessage(L"MESSAGE"),
		0,
		0
	);
 
	return 0;
}
Voici le code de la boucle de message d'application console:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
// TODO : placez ici le code.
MSG msg;
 
// Boucle de messages principale :
while (GetMessage(&msg, NULL, 0, 0))
{
	if(msg.message == RegisterWindowMessage(L"MESSAGE"))
	{
		std::cout << "Message reçu !" << std::endl;
	}
}
En debug, mon application n'entre jamais dans le while, il reste bloqué au premier appel de GetMessage.

Merci d'avance si vous avez des suggestions !
J'aimerais vraiment éviter d'utiliser une fenêtre dans mon application console, même si elle est cachée !