グローバルフック

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
rest

グローバルフック

#1 投稿記事 by rest »

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

#2 投稿記事 by rest »

すいません。
最後に[/url]が付いてしまいました。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#3 投稿記事 by イグトランス »

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

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

#4 投稿記事 by rest »

ていねいにお答えいただき、ありがとうございます。
共有メモリは忘れていいんですね。
がんばってみます。
ゲスト

#5 投稿記事 by ゲスト »

イグトランスさんの助言のおかげで、次のようなものができました。
キー入力を取得します。 ちゃんとできました。ありがとうございます。

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