7

私は、私が書いたのではなく、制御できないアプリケーションの使用状況の指標を収集することに興味があります。これは、Windows 上で動作するアプリケーションです。

これに対する私の計画は、マウスとキーボードのイベントのグローバル ウィンドウ フックを登録し、事前に決定されたタイトルまたはその他の識別可能な属性を持つウィンドウのイベントを記録することです。

このデータを使用して、ユーザーが問題のアプリケーションをどのように使用しているかを判断できることを願っています。どのボタンをいつクリックするか、および一般的なワークフロー。等。

このアイデアについて何か考えはありますか?既存のアプリケーションの変更を必要としないこのソリューションを容易にするサードパーティ製品またはライブラリはありますか?

4

1 に答える 1

3

これはユーザビリティの実験のようなものであり、悪意のある目的ではないと思います(願っています)。

あなたが概説したアプローチは合理的なようです。グローバルフッキングの欠点は次のとおりです。

  1. フックコードはすべてのプロセスに挿入されるため、すべてのプロセスに負担がかかります。
  2. セキュリティの障壁にぶつかる可能性があります。たとえば、中程度の整合性レベルのアプリからフックしている場合、高整合性レベルのアプリをフックすることはできないと思います。また、基本的にキーロガーを作成しているので、マルウェア対策アプリがスパイウェアの可能性があるとしてフラグを立てても驚かないでください。
  3. 64ビットバージョンと32ビットバージョンが必要になる場合があります。

マシンへの影響を軽減する1つの方法は、よりターゲットを絞ったフックを使用することです。関心のある特定のプロセスを見つけ、そのスレッドを列挙し、それらだけをフックします。

Windowsメッセージを追跡するための開発者ツールであるSpy++は、あなたが望むことの多くを実行しますが、あなたがそれをあなたの目的のために活用できるかどうかはわかりません。私は、この種のインストルメンテーションを行うための他のツールやフレームワークを知りません。

于 2012-04-02T20:52:12.803 に答える