Laut der GetMessage-API der MSDN Library wird bei einem Fehler möglicherweise -1 zurückgegeben. Das Dokument enthält einen Codeausschnitt häufiger Fehler, die vermieden werden sollten:
while (GetMessage( lpMsg, hWnd, 0, 0)) ...
< /code>
Dokument heißt: < /p>
Die Möglichkeit eines -1 -Rücklaufwerts
/> bedeutet, dass ein solcher Code zu tödlichen
Anwendungsfehlern führen kann. Verwenden Sie stattdessen Code
wie folgt: < /p>
< /blockquote>
BOOL bRet;
while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
< /code>
Meine Frage ist in jedem Beispielcode, einschließlich der aus Visual Studio erstellten Standardanwendung von Microsoft, die Hauptmeldungsschleife sieht unten aus: < /p>
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
< /code>
Beachten Sie, dass der 2. Parameter von GetMessage oben null ist. Wenn der obige Code gültig ist>
Wird GetMessage () -1 in Hauptnachrichtenschleife zurückgeben? ⇐ C++
-
- Similar Topics
- Replies
- Views
- Last post