我正在开展一个设计不同的特殊项目。
在我的应用程序/流程中,我将创建一个子流程来完成一些工作。在我的过程中,我需要从子流程获得反馈。我想将我的应用程序/进程的Windows句柄传递给这个子进程,所以我发布了来自这个子进程的消息。
如何将Window Handle传递给子进程?我的子进程是一个没有Window UI的命令行应用程序,主要功能如下:
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
我应该将Window Handle传递给main函数吗?怎么样?
由于
答案 0 :(得分:12)
窗口句柄(HWND)对系统是全局的,因此您可以将句柄作为十进制数字打印到字符串缓冲区中,当您使用CreateProcess生成子进程时将其作为字符串传递给命令行,并调用_wtoi()或类似的将字符串再次转换回句柄。
答案 1 :(得分:1)
整个互斥操作只是为了确保在写入任何内容之前,第二个进程不会从共享内存中读取。
(感谢@JonathanPotter评论)