SetWindowsHookExでNOTEPADをキーフック出来ますでしょうか?

タグの編集
投稿者 YAYA  (社会人) 投稿日時 2010/1/18 05:42:06
APIのSetWindowsHookExでNOTEPADをキーフックしたいのですが。
Formでは、できたのですが他アプリケーションでは行えないのでしょうか?
教えてください。お願いします。
投稿者 あにす  (社会人) 投稿日時 2010/1/18 20:45:10
行えません。しかし、出来ちゃってる事例があります。

ぬるり。 - グローバルフック・ザ・キーボード
http://hongliang.seesaa.net/article/7539988.html
投稿者 YAYA  (社会人) 投稿日時 2010/1/19 06:01:38
返答おそくなってすいません。
NOTEPADのHandleを送るとうまく動かないですね。
投稿者 YAYA  (社会人) 投稿日時 2010/1/19 08:01:05
バグでしょうか?FORMのハンドル?で他アプリケーションのキーフックができました。
投稿者 あにす  (社会人) 投稿日時 2010/1/19 12:25:51
仕様です。そもそもサポート外です。上で示したリンク先のクラスを使えば動くかも知れませんが(こちらの環境では動いています)、動かなくても仕方のないことです。
VBではSetWindowsHookEx関数を使用したシステムフックは出来ませんので、C、C++等の言語でネイティブのDLLを作り、そこでSetWindowsHookEx関数を使用して下さい。VBでそのDLLを呼び出すようにすればいいと思います。