dea*_*ana 5 c++ winapi ipc windows-messages
我有一个Windows控制台应用程序,可以启动子进程。如何向子进程发送消息?我发现了诸如PostMessage()/ PeekMessage()之类的函数-这是我所需要的,但据我了解,它在一个应用程序内使用,并使用HWND标识目标窗口(我在应用程序中没有窗口)。我也阅读了有关ipc的资料,例如,命名管道也需要HWND。我想要这样的东西:
[program 1]
int main()
{
CreateProcess(.., processInfo);
SendMessage(processId, message);
}
[program 2]
int main()
{
while(1)
{
// do thw work
Sleep(5 * 1000);
// check message
if(PeekMessage(message,..))
{
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
子进程需要获得消息,它应该完成其工作,而不是立即终止,而是完成当前迭代。这就是为什么我不使用信号并且阻止“接收消息”也是不合适的原因。