gpt4 book ai didi

winapi - 在 Windows 中等待孙子进程

转载 作者:可可西里 更新时间:2023-11-01 14:36:02 25 4
gpt4 key购买 nike

是否可以等待Windows中子进程启动的所有进程?我无法修改子进程或孙进程。

具体来说,这是我想要做的。我的进程启动 uninstallA.exe。 uninistallA.exe进程启动uninstallB.exe后立即退出,uninstallB.exe运行一段时间。我想等待 uninstallB.exe 退出,以便知道卸载何时完成。

最佳答案

使用 CreateJobObject 创建作业对象。使用 CreateProcess 以挂起状态启动 UninstallA.exe。使用 AssignProcessToJobObject 将该新进程分配给您的作业对象。通过在从 CreateProcess 返回的线程句柄上调用 ResumeThread 来启动运行 UninstallA.exe。

然后是困难的部分:WAITING作业对象完成其执行。不幸的是,这比任何人合理希望的要复杂得多。基本思想是创建一个 I/O 完成端口,然后创建对象对象,将其与 I/O 完成端口相关联,最后等待 I/O 完成端口(使用 GetQueuedCompletionStatus 获取其状态)。 Raymond Chen 在他的 blog 上进行了演示(并解释了这是如何发生的) .

关于winapi - 在 Windows 中等待孙子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22103464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com