[C++ / WinApi] Problem z petla komunikatow

0

Zauwazylem ze jesli moja petla komunikatow wyglada tak:


```cpp
MSG msg;
msg.message = WM_NULL;
while(msg.message != WM_QUIT) {
	if(PeekMessage(&msg, h_wnd, 0, 0, PM_REMOVE)) {
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
}

to po zakonczeniu programu nie konczy sie proces tej aplikacji. Jesli zmienie ja na opcje z GetMessage() wszystko jest OK. Dlaczego tak sie dzieje?
0

Pobieranie komunikatow z kolejki wyknujesz za pomoca getmessage a ty ich nie pobierasz

0

w procedurze obslugi komunikatow powinno byc:
bo tego pewnie brakuje

		case WM_CLOSE:
		case WM_DESTROY:
		{
			PostQuitMessage(0);
			return 0;
		}
0

Ta petla komunikatow powinna dzialac poniewaz w ten sposob pobierasz komunikaty z kolejki

while (TRUE)
{
if (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT)
break ;
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
else
{
[other program lines to do some work]
}
}
return msg.wParam ;

1 użytkowników online, w tym zalogowanych: 0, gości: 1