我想跟踪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)中工作
答案 0 :(得分:0)
我有点想要你想做什么。如果你想有一个工具来跟踪用户与某种基于浏览器的实验(如行为实验或市场研究)的交互,你可能不适合使用通过钩子与IE交互的本机C ++应用程序,但是.NET(C#或C ++ / CLI)程序,它使用WebBrowser控件。所有Windows窗体的强大功能都在您的指尖 - 轻松 - 您可以订阅控件抛出的所有事件,如MouseMove,MouseDown,MouseUp,MouseClick,MouseDoubleClick,KeyDown,KeyUp,KeyPress - 您可能想要的任何内容
当然,如果您想要秘密跟踪用户交互,这可能不是您想要的,因为用户不太可能更喜欢您的浏览器而不是任何已知的浏览器。