0
私はソケットイベントを登録するロギング機能を書いています。私が抱えている問題は、PeekMessage
を呼び出すとMSG
という構造のイベントのtime
があっても、DispatchMessage
へのその後の呼び出しは、によって処理され、time
を受け取らないことになりますパラメータ。MSGで時間を使う適切な方法
私が時刻を記録するのに使用している "解決策"は、Windowsアプリケーションのメインループのソケットイベントを検出することです(PeekMessage
が発生します)。
これを行う適切な方法はどれですか?むしろ、一般的なルーチンにロギング固有のロジックを追加する必要がない方がよいでしょう。あなたのソケットメッセージハンドラで
さらに読む:https://blogs.msdn.microsoft.com/oldnewthing/20090618-00/?p=17843 – theB
ありがとうございます。しかし、これは私がメインループの外側で特定のロジックを移動させる方法をまだ見ていません。なぜなら、それはある場所で 'GetMessage'を呼び出すことと、別の場所(特定のロジックが座っている場所)で' GetMessageTime'を呼び出すことになるからです。その後、イベントとその時間との間の対応が保証されません。 –
元の解決策は、メインループで 'PeekMessage'を呼び出し、' MSG'構造体からタイムスタンプを取得することでした。 'GetMessageTime'は同じタイムスタンプを返します。では、あなたの 'WindowProc'ハンドラで' GetMessageTime'を呼び出すことで何が問題になっていますか? –