0

キューにあるn 個のイベントを単純に解析する必要があるイベント ループ クラスのクロスプラットフォーム 'completePending' 関数を実装しています。( nは関数の開始時に取得され、 n 個のイベントのみが解析されます。)

そこで、のんびりと日没に向かって散歩をしていると、 msdn でXEventsQueued() DWORD WINAPI WinQueuedEvents(__in_opt DWORD) を探していました。しかし、私はそれを見つけることができなかったようです。win32 api にそのような機能が存在することに疑問を持ち始めました。そして、私は答えを求めてスタックオーバーフローであるコーダーの素晴らしい住まいに来ました。

私の知る限り、GetMessage() はメッセージが受信されるまでブロックされます。したがって、GetPending() がない場合は、良くない代替手段のメッセージが表示されている間に、覗いて取得する必要がありますか?

4

1 に答える 1

3

Windows メッセージ (だけ) を受け取るまでブロックしない関数には、次のものがあります。

  • PeekMessage
  • MsgWaitForMultipleObjects
  • MsgWaitForMultipleObjectsEx

PM_REMOVEに渡してPeekMessageノンブロッキング を使用できることに注意してくださいGetMessage

また、送信されたメッセージはこれらの関数によって返されるのではなく、すぐにディスパッチされることに注意してください。

于 2012-07-10T22:37:36.790 に答える