2012-03-20 35 views
4

我有一个小问题,希望有人能帮助我 有没有办法挂钩到其他应用程序wndproc?挂钩到另一个应用程序的wndproc?

的情况是,我想在其他应用程序 菜单栏插入菜单,我想定义每个菜单项

我能使用一些WIN32API 功能,插入一个菜单项的菜单(USER32的命令.DLL) 但我不能设置菜单项的命令,因此,它实际上做 的东西,如果点击

一些谷歌上搜索我得到wndprocess 的一些信息,我应该拦截ID发送的命令,并引发一些功能 但我卡住了。

任何人都可以帮助我吗?

+0

到目前为止你有什么? – 2012-03-20 22:02:48

+0

只是创建和插入的菜单,idon't知道覆盖应用程序wndprpc – K7rim 2012-03-20 22:08:44

+2

窗钩是你的朋友,请在MSDN上检查'SetWindowsHookEx'。自从你提到Python以来,更大的问题是将代码放到远程进程中。像这样的窗口钩子通常会导致带钩子函数的DLL被加载到远程进程并从那里运行。 – 0xC0000022L 2012-03-20 22:09:04

回答

2

你正在走这个错误的路。如果你仔细想想,你会意识到,使用自定义“操作”来响应菜单事件必须要有一些代码才能在你定位的过程中运行。这意味着您需要将代码注入到其他进程中才能实现您想要的目标。因为无论如何您都需要注入代码,所以我强烈建议您查看DLL注入其他进程(搜索“Dll Injection示例”)的DLL注入。这会将你的代码引导到另一个进程中,并且你可以在那里构建你的菜单。

这也有一个好处,即外国应用程序不会依赖于您的应用程序的响应 - 它将全部处于进行中。