これは、Windows プログラミングに関する一般的な質問のようなものです。
Window メッセージは「信頼できる」ものですか?
例(これらは単なる例です):
カーソルが画面に入る前にが起こると確信できますか?
WM_MOUSEMOVE
デバイスが挿入された場合にメッセージが表示されると確信できますか?
WM_DEVICECHANGE
ウィンドウがフォーカスを失った場合にメッセージが表示されると確信できます
WM_KILLFOCUS
か?
または、言い換えると:適切なタイミングで適切なメッセージを受け取ることができると確信できますか? または、明らかに文書化されていない理由でメッセージを見逃す可能性がある場合に備えて、常に防御的にコーディングする必要がありますか?
例:
ファイルシステムフィルタードライバーがファイル操作または変更通知を「見逃さない」ことが保証されています(AFAIK)。
対照的に、ReadDirectoryChangesWが通知を見逃さないという保証はありません。実際、バッファがオーバーフローすると、かなりの数が見落とされる可能性があります。
ノート:
敵対者に対する状況について話しているのではありません (たとえば、誰かがウィンドウ プロシージャをハイジャックしたり、フック/フィルターをインストールしたりするなど) 。それはほとんど保証を無効にするでしょう。自分のコードを制御できると仮定して、SendInput
ランダムなバッファ オーバーフローが発生した場合や、誰かが