2012-03-20 34 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注入。這會將你的代碼引導到另一個進程中,並且你可以在那裏構建你的菜單。

這也有一個好處,即外國應用程序不會依賴於您的應用程序的響應 - 它將全部處於進行中。