2

我想跟踪 IE 中的所有鼠标和键盘操作。于是写了一个hook,但是发现hook不行。当我挂钩 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,32bits,带有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 回答