Wie tief ist die Win32-Message Queue?
-
02-07-2019 - |
Frage
Wie viele Nachrichten nicht die Warteschlange für ein Standard-Fenster halten? Was passiert, wenn die Warteschlange überläuft?
Die Dokumentation für GetMessage
und Verwandte sagt nichts über das, und PeekMessage
gibt Ihnen nur eine Ja / Nein für bestimmte Klassen von Nachrichten, keine Nachrichtenanzahl.
Diese Seite sagt, dass die Warteschlangen implementiert sind Memory-Mapped Dateien, und dass es keine Nachricht Zählgrenze ist, aber diese Seite ist über WinCE. Ist dies auch auf Desktop-Win32-Anwendung?
Lösung
10000 standardmäßig, aber es kann über die Registry angepasst werden.
Wenn Warteschlange überläuft, schlägt fehl Postmessage.
Dokumentation hier:
Andere Tipps
Wie in dem MSDN-Artikel erwähnt, wenn Sie über die Größe der Nachrichtenwarteschlange kümmern, könnten Sie besser dran, Ihre Anwendung neu zu gestalten.