Wird GetMessage () -1 in Hauptnachrichtenschleife zurückgeben?C++

Programme in C++. Entwicklerforum
Guest
 Wird GetMessage () -1 in Hauptnachrichtenschleife zurückgeben?

Post by Guest »

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>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post