【发布时间】:2012-05-29 16:29:19
【问题描述】:
如何检查我刚刚使用 CreateProcess() 启动的 CLI 程序是否正在等待来自标准输入的 Windows C API 输入?
【问题讨论】:
-
从哪里检查?创建程序?控制台?
-
你还在等什么?这是为了让您可以发送输入还是在进行某种交互式输入?
-
你没有,你重新设计了你的父程序。你要么(a)让它继承你的标准输入,什么都不做,要么(b)为它创建一个管道,给它你想要的输入,然后关闭管道。但是你必须小心避免死锁,如果程序也产生输出,要么使用多个线程,要么小心使用非阻塞 I/O 和
WaitForMultipleObjects。 -
没有。我现在只需要当创建的流程需要输入时,我没有任何输入。然后我将此信息发送到远程 Web 应用程序,以便远程用户可以与创建的进程进行交互。我希望我现在清楚了,哈哈!
-
您必须修改子程序,以便它告诉您何时可以输入。您可以通过多种方式执行此操作,例如,查找 CreateEvent 函数。