我正在與一個不尋常的設計的特殊項目。如何將窗口句柄傳遞給子進程?
在我的應用程序/過程中,我將創建一個子過程來完成一些工作。在我的過程中,我需要從子流程中獲得反饋。我想將我的應用程序/進程的Windows句柄傳遞給這個子進程,所以我從這個子進程發佈消息。
如何將窗口句柄傳遞給子過程?我的子過程是無窗的用戶界面和使用這樣的主要功能的命令行應用程序:
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
我應該通過窗口句柄的主要功能?怎麼樣?
感謝
帶winmain的命令行應用程序?非常不尋常的設計。爲什麼窗口句柄想要通過? HWND? – Xearinox 2012-08-16 07:29:52
如果你想要HWND。 GetConsoleWindow是你的朋友。 http://msdn.microsoft.com/en-us/library/ms683175%28VS.85%29.aspx – Xearinox 2012-08-16 07:37:21
只需使用命令行參數。將HANDLE轉換爲DWORD(64位也可以)並從中生成一個字符串。對於這個手柄要小心,沒有太多的事情可以用安全的方式進行。像任何需要在wparam或lparam中傳遞指針的窗口消息一樣,這些指針值在其他進程中無效。 – 2012-08-16 11:35:35