我正在与一个不寻常的设计的特殊项目。如何将窗口句柄传递给子进程?
在我的应用程序/过程中,我将创建一个子过程来完成一些工作。在我的过程中,我需要从子流程中获得反馈。我想将我的应用程序/进程的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