[BlueLeaf1336]> PROBLEMS> ClickThereItIs!>

ClickThereItIs! - Hook with(out) DLL

historyTOP

2003/11/28:作成

memoTOP

テストプログラム第2(3)弾です。

フックしましょう。DLLあり版となし版です。DLLを使わない方針でと前回書きましたがついでなのでやってみました。とはいえ大変だしやばいし途中で飽きました。

ソースは説明もできないし、しても仕方がないし、プログラムもやばいし、Win2000でなければやばそうだし、何を書いているのかわからないし嫌になったので、途中もいいところですが、圧縮ファイルだけ置いときます。そういえばWin2000でないと動作しない関数を使用してました(前回作ったpsapi.dllを使った関数です)。あり版なし版ともに使ってます。残念...

でも、画面キャプチャぐらいは載せときます。時間だけはすっごいかかったので。 それからコンパイルしてできるプログラムはめちゃ危険です。とりあえず自分で試した範囲で復帰できるように制限をかけてますが、タスクマネージャのお世話になること請け合いです。

Main APITOP

使用している主要なAPIは次のとおりです。基本的には、ソースコード中に参考にさせてもらったサイトのURLを書き込んでますので、そのサイトを見てもらえればより正しい説明と、遥かにマシなソースコードを見ることができます。:p

テストプログラム第2弾(DLLなし版)

テストプログラム第3弾(DLLあり版)

screen shotTOP

テストプログラム第2弾(DLLなし版)です。あまりにうっとうしいWM_MOUSEMOVEを無視するモードでキャプチャしてます。画像はアクティブになってますが、ちゃんと非アクティブな状態でメッセージを捕まえられてます。が、マウス系とキーボード系のメッセージしか来ないようです。しかもキーボード系のメッセージは、あっさりチェックとはいえメッセージの発生元(?)が不明になるようです。おんなじ方法でメッセージの発生元を取得しているマウス系のメッセージは、アプリケーション名取れてますので。

テストプログラム第3弾(DLLあり版)です。こっちが危険です。危険すぎるのでフックしたメッセージをとりあえずTMemoに表示しているのですが、この表示行数が100行を超えたら強制的にフックをアンインストールするようにしています。

Delphi 6 Personal bpg/dpr/dfm/pasTOP

テストプログラム第2弾(DLLなし版)

20031123ClickHereItIs_002.zip(7,212bytes)

テストプログラム第3弾(DLLあり版)

20031125ClickHereItIs_003.zip(12,126bytes)

EOFTOP