• ベストアンサー

イベントを発生させたウィンドウに通知しない方法は?

グローバルマウスフックには成功しました。 しかし、フックによって得たイベントを発生させたウィンドウにもそのイベントが通知されます。 (例えば、右クリックをフックしたとしても、カーソル位置のウィンドウのポップアップメニューを開いてしまいます。) これを通知しないようにしたいのです。 しばらく試行錯誤をしましたが、分かりません。 何かよい方法をご存知でしょうか? ご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • yonfa
  • ベストアンサー率52% (22/42)
回答No.1

フックプロシージャの中で CallNextHookEx() を呼び出していませんか? MouseProc() のヘルプ、戻り値の説明をご覧ください。

参考URL:
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpipc/html/_win32_mouseproc.asp
nk2
質問者

お礼

ご迷惑おかけして申し訳ありませんでした。 ご指摘通り、ヘルプをよく読んでおりませんでした。 CallNextHookEx() の第二引数に0以上の値を入れればよいと誤解していました。 その誤解を疑うことのないまま、時間を浪費しました。 それどころか、CallNextHookEx()での制御はフックチェーンに関してのみ適応し通常のメッセージループには関与しないのだ、とさえ思い込みました。 そのようにして、このような愚問を致した次第であります。 「思いて学ばざれば則ち殆し」という金言を思い知りました。 よくよく反省します。ありがとうございました。

関連するQ&A