2013-04-24 207 views
2

我想跟踪IE中的所有鼠标和键盘动作。 所以我写了一个钩子, 但我发现钩子不能工作。当我挂钩IE,并对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

我依赖于你想做什么。如果你想有一个工具来跟踪与某种基于浏览器的实验结果(如行为实验或进行市场调研)的用户交互,你可能是用本地C++应用程序,通过挂钩与IE交互非常适合没有,但一个使用WebBrowser控件的.NET(C#或C++/CLI)程序。所有的Windows窗体功率将在您的指尖和 - 轻松 - 您可以订阅全部由控件引发的事件,如MouseMove事件,的MouseDown,的MouseUp,鼠标点击,MouseDoubleClick,的KeyDown,KEYUP,按键响应的 - 你可能想要的东西。

当然,这可能不是你想要什么,如果你想跟踪用户交互秘密,对于用户在任何已知的人的喜欢你的浏览器,它是不太可能。

+0

它仅仅是一个自动测试工具,像imacro。 – user2314550 2013-04-25 08:29:55