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

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

我正在尝试关闭与进程关联的特定单例句柄。 Windows 应用程序“进程资源管理器”允许您执行此操作,但您需要选择进程,然后右键单击句柄并选择关闭。我正在寻找一个解决方案,该解决方案允许我在应用程序运行时自动关闭特定句柄。

我知道我可以通过简单地执行以下操作来获取所有进程,甚至杀死进程:

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

但是我该如何关闭附加到进程的句柄而不是进程本身呢?

c# windows
2个回答
1
投票

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


0
投票

想知道您是否愿意一步步发布?我有一个特定的事件,我需要关闭一个句柄来实现同样的事情——在同一系统上多次运行该应用程序。关于如何自动化此操作有任何帮助吗?使用 Process Explorer 手动进行处理,但希望实现自动化。

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