Dre Unterschied von GetMessage zu PeekMessage liegt nicht nur im Warten. GetMessage liefert nämlich False zurück, wenn ein WM_QUIT eintrifft.
Delphi-Quellcode:
while true do
begin
if PeekMessage(msg, 0, 0, 0,PM_REMOVE) then
begin
if msg.Message = WM_QUIT then Break;
TranslateMessage(msg);
DispatchMessage(msg);
end
else
DoIdle;
end;
procedure DoIdle;
begin
// irgendetwas machen, wärend keine Botschaft versandt wird.
end;