• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:キィーボードをフックしません、何故ですか???)

キィーボードをフックしない理由とは?

このQ&Aのポイント
  • キィーボードをフックするためのDLLがWM_KEYDOWNメッセージをフックできない問題が発生しています。
  • WM_KEYDOWNの代わりにWM_CREATEやWM_CLOSEなどのメッセージをフックできることが確認されていますが、キィーボード系のメッセージではフックできないためです。
  • 原因は初歩的な知識の欠如によるものと思われますが、具体的な原因は分かりません。

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

  • ベストアンサー
回答No.1

HOOKPROC型のLPARAMをCWPSTRUCT*にキャストしているので、 SetWindowsHookEx()の第1引数(フックタイプ)をWH_CALLWNDPROCにしてません? WH_KEYBOARDに変えるといけるはずです。 LRESULT CALLBACK KeyboardProc( int code, // フックコード WPARAM wParam, // 仮想キーコード LPARAM lParam // キーストロークメッセージの情報 );

No1Poodle
質問者

お礼

ありがとうございます ご指摘の通りの誤りでした 修正致しましたらOKになりました! ありがとうございました

その他の回答 (2)

回答No.3

肝心なことを書き忘れてました。 WH_CALLWNDPROCにしているという前提で書きますが、、 ちなみにWH_CALLWNDPROCでフック出来るのはSendMessageされたものだけです。 WM_KEYDOWN等はポストされるメッセージのためWH_CALLWNDPROCではフック出来ません。

No1Poodle
質問者

お礼

重ね重ねのご指導ありがとうございます 今後とも宜しくお願い申し上げます ありがとうございました

回答No.2

WH_KEYBOARDフックではなく、 WH_CBTフックをかけてるとか?

No1Poodle
質問者

お礼

ありがとうございます 勉強させて頂きました

関連するQ&A