Windowsでシステムフックを利用して、テンキーを特殊な目的に使おうとしています。システムフックでテンキーのどのボタンが押されているかを判定することはできているのですが、例えばテキストエディタを使っているときにテンキーを押してしまうと「本来の働き」である数字がテキストエディタに入力されてしまいます。システムフックはメッセージを横取りできる物だと思っていたのですが傍聴できるだけなのでしょうか。ある特定の条件を満たしたメッセージだけを本来の受取り手に渡さないようにすることはどうすればできるのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/07/13 13:26:29
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:ohmix1 No.1

回答回数235ベストアンサー獲得回数14

ポイント60pt

コールバック関数でCallNextHookEx()を呼ばずにreturn 1;すれば良いのでは?

http://www.microsoft.com/JAPAN/developer/library/jpwinpf/_win32_...

>code パラメータの値が 0 以上で、このフックプロシージャがメッセージを処理した場合、

>0 以外の値を返すと、フックチェーン内の残りのフックプロシージャや目的のウィンドウプロシージャへメッセージを渡すことを防止できます。

id:westfish

なるほど、残念ながら諸事情で試す時間が取れませんでしたが、近いうちに試してみたいと思います。ありがとうございました。

2006/07/13 13:26:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません