流程句柄重复使用的频率

问题描述 投票:3回答:2

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

windows shell hwnd
2个回答
5
投票

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

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


3
投票

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

WaitForSingleObject(hProcess,INFINITE);

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

© www.soinside.com 2019 - 2024. All rights reserved.