杀死正在运行的进程的特定事件句柄?

问题描述

我正在尝试关闭与流程关联的特定单例句柄。 Windows应用程序“ Process Explorer”允许您执行此操作,但是您需要选择进程,然后右键单击手柄并选择“关闭”。我正在寻找一种解决方案,该解决方案使我可以在应用程序运行时自动关闭特定的句柄。

我知道我可以通过以下操作获得所有进程,甚至杀死一个进程:

foreach (var p in Process.GetProcessesByName("your.exe"))
{
    p.Kill();
}

但是我将如何关闭与流程相关联的句柄,而不是与流程本身相关?

解决方法

我最终使用了Michael在评论中建议的NtDuplicateObject。实施起来有点痛苦,但是一切都按预期进行-谢谢迈克尔!