为什么我不能勾一个ie

时间:2013-04-24 08:06:51

标签: internet-explorer windows-7 windows-xp hook

我想跟踪IE中的所有鼠标和键盘操作。 所以我写了一个钩子, 但我发现钩子无法正常工作。 当我挂钩IE浏览器,并对IE进行任何操作时,IE崩溃了。

步骤如下。

STEP.1:

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

step.2:

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

在winxp中,有时候,没关系。 但它从未在win7(win7,32bits,IE8)中工作

1 个答案:

答案 0 :(得分:0)

我有点想要你想做什么。如果你想有一个工具来跟踪用户与某种基于浏览器的实验(如行为实验或市场研究)的交互,你可能不适合使用通过钩子与IE交互的本机C ++应用程序,但是.NET(C#或C ++ / CLI)程序,它使用WebBrowser控件。所有Windows窗体的强大功能都在您的指尖 - 轻松 - 您可以订阅控件抛出的所有事件,如MouseMove,MouseDown,MouseUp,MouseClick,MouseDoubleClick,KeyDown,KeyUp,KeyPress - 您可能想要的任何内容

当然,如果您想要秘密跟踪用户交互,这可能不是您想要的,因为用户不太可能更喜欢您的浏览器而不是任何已知的浏览器。