我想攔截其他進程chatBox的WM_PAINT消息。 函數:GetMessage(msg,hwnd,0,0)似乎是完美的,但我沒有收到任何消息(我嘗試作爲超級用戶) 從現在我的C++代碼找到好的子窗口並嘗試「getMessage」 , 我忘了什麼?我必須將這些代碼注入到我的其他進程的DLL中?WM_PAINT遠程進程
回答
消息隊列是每個線程,所以你不能GetMessage爲其他線程或進程。
你需要的是安裝一個窗口鉤子。請參閱SetWindowsHookEx和WH_CALLWNDPROC掛鉤類型。你的DLL將被加載到所有進程並攔截所有窗口消息。
然後確定您需要忽略哪些消息/進程/窗口以及要處理哪些消息。
感謝,但也有一些是我做錯了, /* h是whanted窗口*/ GetWindowThreadProcessId(H,&pid); 的HWND如果(!和SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)CallWndProc, NULL,pid)) std :: cout <<「failed」<< std :: endl; 這以失敗 – gfauchart 2013-02-27 11:23:06
結束您需要將您的CallWndProc移動到單獨的DLL並將一個DLL句柄傳遞給SetWindowsHookEx函數。 – 2013-02-27 11:41:06
- 1. 遠程進程通信
- 2. 調試遠程進程
- 3. 監控遠程進程
- 4. 遠程管理.net進程
- 5. 遠程進程執行
- 6. 通過Supervisord API遠程創建進程
- 7. 暫停執行遠程進程(C,Windows)
- 8. Selenium查殺遠程瀏覽器進程
- 9. 協議遠程進程管理
- 10. 遠程啓動Azure上的進程
- 11. 用Spring安全進程遠程認證
- 12. 遠程執行非阻塞進程
- 13. C#WMI遠程進程執行
- 14. android遠程進程(receiver)快速死亡
- 15. 通過遠程進程使用Log4Net
- 16. C#WMI遠程進程創建-GUI Hack
- 17. WMI遠程進程複製文件
- 18. 將Eclipse附加到遠程進程
- 19. 遠程進程無法啓動
- 20. vsjitdebugger.exe - 附加到遠程進程
- 21. 使用Python遠程運行進程
- 22. 遠程進程被殺神祕
- 23. 無法執行遠程進程
- 24. 使用asp.net遠程殺死進程
- 25. 用ssh殺死遠程進程
- 26. 用lldb遠程調試 - 等待進程
- 27. 等待遠程進程完成.net
- 28. 如何監控遠程java進程
- 29. 遠程進入服務器
- 30. Matlab進程*永遠*睡眠
你真的是指「遠程」,或者它只是同一臺計算機上的另一個進程嗎? – 2013-02-27 10:49:51
是在同一臺計算機上對不起 – gfauchart 2013-02-27 11:01:38