我注意到当我使用shell函数打开它时应用程序处理。 然后我使用该句柄稍后关闭应用程序。 但是,用户也可以自己关闭其他应用程序。 那个句柄可以被windows重用,这样当我使用该句柄时,我会关闭一个不同的进程。 如果有可能吗?

有帮助吗?

解决方案

不,你不必担心。例如,OpenProcess,ShellExecuteEx()或CreateProcess返回的句柄使进程对象保持活动状态。这就是在进程终止后调用GetExitCodeProcess()来检索退出代码的方法。

在对象的最后一个句柄关闭之前,对象不会被释放。与此线程中给出的早期建议相反,调用CloseHandle()或者您将发生泄漏非常重要。

其他提示

您可以等待进程句柄以确定何时退出。

WaitForSingleObject(hProcess,INFINITE);

一旦返回,您就知道该进程已退出,您无需关闭它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top