ページ 11

グローバルフック

Posted: 2008年12月14日(日) 09:22
by rest
グローバルフックをするには、どうすればいいのでしょうか。
DLLを作ってSetWindowsHookをすればいいようですが、
窓プログラミング グローバルフックを使う
とかを見ても理解不能です。
共有領域などと書いてありますがどうやって作るのか分かりません。
誰か教えてください。お願いします・・・・[/url]

Posted: 2008年12月14日(日) 09:23
by rest
すいません。
最後に[/url]が付いてしまいました。

Posted: 2008年12月14日(日) 15:23
by イグトランス
Windows 2000以上を対象にするなら、共有メモリのことは忘れて構いません。
共有メモリはCallNextHookExの1番目の引数(窓プログラミングのコードではhHookWnd)のために使っていますが、Windows 2000からこの引数はNULLで構わないことになっています。そのため、hHookWndはDLL側でただのグローバル変数とすれば問題ありません。

また、EXE側でsethook/freehookを呼び出している個所がありますが、ABではCreate/Destroyイベント内で呼び出せばよいと思います。

Posted: 2008年12月14日(日) 15:53
by rest
ていねいにお答えいただき、ありがとうございます。
共有メモリは忘れていいんですね。
がんばってみます。

Posted: 2008年12月14日(日) 18:32
by ゲスト
イグトランスさんの助言のおかげで、次のようなものができました。
キー入力を取得します。 ちゃんとできました。ありがとうございます。

・・・ですが新たな問題点が(泣
キーを押したときと離したときの区別がつきません。
どうすればいいのでしょうか。誰か教えてください。