2

IE でのすべてのマウスとキーボードの操作を追跡したいと考えています。そこでフックを書きましたが、フックが機能しないことがわかりました。IE をフックして、IE で何らかのアクションを実行すると、IE がクラッシュしました。

手順は次のとおりです。

ステップ1:

g_hHook = ::SetWindowsHookEx(WH_CALLWNDPROC, (HOOKPROC)CallWndProcHtmlHook, g_hInstHookDll, id);

ステップ2:

LRESULT CallWndProcHtmlHook(int nCode, WPARAM wParam, LPARAM lParam)
{
    return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}

winxp では、場合によっては問題ありません。しかし、win7(win7、32ビット、IE8)では機能しませんでした

4

1 に答える 1

0

私はあなたが何をしたいかによって少し異なります。ある種のブラウザベースの実験 (行動実験や市場調査など) でユーザー インタラクションを追跡するツールが必要な場合は、フックを介して IE と対話するネイティブ C++ アプリケーションではなく、 WebBrowser コントロールを利用する .NET (C# または C++/CLI) プログラム。Windows フォームのすべての機能をすぐに利用でき、MouseMove、MouseDown、MouseUp、MouseClick、MouseDoubleClick、KeyDown、KeyUp、KeyPress など、コントロールによってスローされるすべてのイベントを簡単にサブスクライブできます。 .

もちろん、ユーザーのやり取りを秘密裏に追跡したい場合、これはあなたが望むものではないかもしれません。

于 2013-04-24T08:21:47.533 に答える