我正在尝试关闭与进程关联的特定单例句柄。windows应用程序";Process Explorer";允许您这样做,但您需要选择流程,然后右键单击句柄并选择关闭。我正在寻找一个解决方案,该解决方案将允许我在应用程序运行时自动关闭特定句柄。
我知道我可以通过简单的操作获得所有进程,甚至杀死一个进程:
foreach (var p in Process.GetProcessesByName("your.exe"))
{
p.Kill();
}
但是,我该如何关闭连接到流程而不是流程本身的句柄呢?
我最终按照Michael在评论中的建议使用了NtDuplicateObject。实现起来有点痛苦,但一切都如预期——谢谢迈克尔!