我得到了进程 ID 列表,我想列出该进程拥有的所有互斥锁。
我正在尝试在 C# 中执行此操作,但我找不到一种方法来执行此操作。
到目前为止我得到了:
foreach(Process thisProcess in processlist)
{
Console.WriteLine("{0} {1}", thisProcess.ProcessName, thisProcess.Id);
}
这将列出所有进程 ID,但需要它们拥有的互斥体。
我读过一些有关使用 NTDLL.dll 的内容,但现在不知道如何使用。
最佳答案
枚举互斥体是“内核对象”常规工作的一部分。正在阅读the book- "Windows Internals"在深入研究此类代码之前是个好主意。
这是一个链接,给出 some info关于enumerate kernel object
use ZwQuerySystemInformation with SystemHandleInformation, ZwDuplicateObject, ZwQueryObject with ObjectNameInformation.
关于c# - 获取进程互斥列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11268047/