我的问题的背景是:
我的问题是每个控制台都有一个关闭(“x”)按钮,可以终止(无论它是什么方式)。由于我在主应用程序中保留了已创建控制台的列表,因此我想知道控制台何时被终止或退出。
我的控制台(子进程)程序只是一个带有循环函数的“main()”,它读取管道(并显示数据)。它没有消息系统或任何其他可以处理窗口“退出”的东西。
我的第一个想法是从主应用程序轮询子流程以刷新列表。但这意味着我必须引入一个计时器或一个监视控制台的线程。我不喜欢这个主意。
有人有更好的主意吗?
答案 0 :(得分:0)
WaitForSingleObject(hThread, 0)
将告诉您hThread
参数中指定的线程是否已发出信号并因此完成。同样适用于hProcess
。
CreateProcess()
调用后,将返回子进程的两个句柄。您可以立即关闭它们,也可以使用WaitForSingleObject
进行监控。