25 Nov 2004

DebugBuildの罠

今回はVC++のお話ですが、『Debugビルド』と『Releaseビルド』の二つのビルドモードを選ぶことができます。その名のとおり、前者はデバッグ時用の、後者はリリース時用のビルド(コンパイルも?)をします。

ところで、グローバルフックという便利だけれども使い方を間違えるとシステムを巻き込むフックがあります。これは、システムのフックチェインの中に自分の望むフックをぶち込むことによって、Windowsメッセージをちょっぱってくることが可能となります。つまり、自分の作成したアプリ以外へのユーザの行動を監視することが可能となります。キーロガーとか、そんな類ですな。

ここから本題。
今まで、そのグローバルフックを仕掛けるプログラムを書いていたのだけれども、1ヶ月ぐらい(暇な時間に)やっていて、一向にできる気配がない。ここ数日ちょっと詳しく調べてみていたら、実はローカルフック(自分のアプリだけのフック)はできている模様。SetWindowsHookExという関数でフックチェインに自分の書いた種類のウィンドウプロシージャを当てはめて、システムの上流からのメッセージを覗けるはずなのに、自分のしか見えてない模様。うーん、おかしい。

グローバルフックの話題、というよりもやりたいことは、他のアプリにフォーカスがあるときに、キー状態を取得する、ということだったので、オープンソースのキーロガーがないかなぁ・・・と探してみた。そうしたら、2ch系(かな?)の掲示板でそういったところがあって流し読みしていたところ、ソースがアップされているのを発見。アクセス権限がありません(;´Д`) しょぼくれてもうちょっと下を見ていくと注意事項が・・・

「リリースビルドをしないとグローバルフックになりません」

(;´Д`)

そういうことはMSDNのSetWindowsHookExとかしかるべきところに書いておけよ《゚Д゚》ゴラァァァァァァァァァァァァア!!その所為でかなり悩んだのにあっさり実装できてて、プログラム以外のところではまってたという罠。

かーどきゃp(ウワキサマヤメロナニヲスル
◆朝
目覚まし:7:00
起床:10:00

8時におきようと頑張ったけどやっぱり布団にもぐりこんでしまった。
◆ヘルスメーター
64.3kg 19.8% 1543kcal
→ 標準・筋肉Lv4/9

体脂肪率だけ増えたら筋肉Lvダウン。そりゃそうだろうけど。というか昨日は結構運動したつもりなのになんでだろ。食べすぎなだけともいう

投稿者 hilo : 23:00 | Program関連

トラックバック

このエントリーのトラックバックURL:
http://hilo.s55.xrea.com/tt-cgi/tt_tb.cgi/77

コメント

Well done!
[url&eq;http://posvzfcz.com/qrbr/zrbv.html]My homepage[/url] | [url&eq;http://sybhplsq.com/kpba/whln.html]Cool site[/url]

投稿者 Kevin : 18 May 2006 03:50

Thank you!
My homepage | Please visit

投稿者 Wayne : 18 May 2006 03:50

Nice site!
http://posvzfcz.com/qrbr/zrbv.html | http://ysrynayy.com/vylw/bvgo.html

投稿者 Olga : 18 May 2006 03:52

Nice site!
[url&eq;http://ygioceax.com/tcyx/ytlk.html]My homepage[/url] | [url&eq;http://ibzxekvh.com/enve/uqju.html]Cool site[/url]

投稿者 Christine : 24 Jul 2006 03:05

Good design!
My homepage | Please visit

投稿者 Ida : 24 Jul 2006 03:05

Nice site!
http://ygioceax.com/tcyx/ytlk.html | http://ngololca.com/pcng/qktv.html

投稿者 Matt : 24 Jul 2006 03:07

コメントしてください




保存しますか? はいいいえ