あなたが探している情報は、この日記には記されていない可能性が高いです。(検索で来た人用)
にらどんは一杯500円。尚、出前は承っておりません。ご了承下さい。

キーボード入力フック

できない。
SetWindowsHookEx()でフックをセットして、
HookProc()内でメッセージ処理して、
その後の処理をCallNextHookEx()でDefProc()に返せばいいだけじゃないの。


HookProc()にはちゃんとWM_KEYDOWNメッセージ引っ張ってこれてるんだけど、
wParam(つまりKeyCode)を操作してそのままCallNextHookEx()に流しても処理が変わらないんだよね。
僕の理解が間違っているんだろうか。
ここでWM_KEYDOWNをSendMessage()しちゃうとまた無限ループするし、この書き方が一番シンプルだと思うんだけど。
WM_KEYDOWNが処理される前に拾ってるんだからこれを改変すればいいんじゃないの。
それともHookProc()に渡されるwParamが値渡しだからフック元に戻ったら反映されない?
いやいや更新したwParamはCallNextHookEx()に渡してるんだから関係ないだろ。


いろいろぐぐってる途中で、Windows7ではキーボードの入力変換操作が認証式になった、みたいなのを見かけた。
でも記事を書いている今ソースが出ない。
なんでも認証の降りたソフトウェアじゃないと変換操作を行えないとかなんとか。
そのためにキーボードの入力変換ソフトがシェアウェア化したみたいな話だった。ソースが出ない。
これが事実だとすると、僕のやっていることも課金が必要なんじゃないだろうか。たかが2進数入力させるだけで?
ソースが出ない。つーか認証式にしたってローレベルなプログラミングすれば関係ないんじゃないの。
僕のC++だとwindows.h使ったりとかしてるから多分チェックが入るんだろうけどさ。
アセンブリとかでwindowsのチェックを解さず処理させらんないの。出来ても書けないけど。
そもそもフックが成功してないのか、システム的に却下されてるのかわからないんですけどね。