我正在devise一个特殊的项目。
在我的申请/stream程中,我将创build一个子stream程来做一些工作。 在我的过程中,我需要从子过程中得到反馈。 我想将我的应用程序/进程的Windows句柄传递给这个subprocess,所以我从这个subprocess发布消息。
如何将窗口句柄传递给subprocess? 我的subprocess是一个没有Window UI的命令行应用程序,主要function是这样的:
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
我应该通过窗口句柄的主要function? 怎么样?
谢谢
窗口句柄(HWND)对系统是全局的,所以你可以把句柄作为十进制数字打印到字符串缓冲区中,当你用CreateProcess产生你的子进程时,把它作为字符串传递给命令行,并调用_wtoi()或类似的将字符串转换回句柄。
整个互斥操作只是为了确保第二个进程不会在写入任何东西之前从共享内存中读取。
(感谢@JonathanPotter的评论)