WH_CBT钩子另一个线程在XP但Win7中工作

时间:2015-03-27 02:56:16

标签: c++ hook intercept

我想实现一个钩子示例,用于拦截来自我的WinForm应用程序的消息到另一个进程,例如'记事本' 。 (不是全局钩子,只是监视器指定线程的线程钩子,HookType是WH_GETMESSAGE)

我用c ++写了一个钩子dll并在c#中使用它。

之后,我从开始菜单打开记事本或输入cmd - >记事本 。我发现我可以在xp环境中从记事本中获取消息,在win 7中没有发送消息。

然后,我试图创建'记事本'通过我的WinForm应用程序进行处理(在我的表单上放一个按钮并使用Process.Start(" Notepad.exe")打开它),神秘地说,它在win 7中有效。

所以,我不知道为什么当记事本从win 7的开始菜单开始时它不起作用。

在xp中,无论记事本是从开始菜单还是从我的应用程序开始,我都可以收到消息

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。 只需生成c ++ dll whit right platform ..基于x64的win7,然后,一切顺利。 :)