获取流程互斥列表

时间:2012-06-29 19:45:49

标签: c# .net list process mutex

我有一个进程ID列表,我想列出此进程拥有的所有互斥锁。

我试图在C#中这样做,但我找不到办法做到这一点。

到目前为止我得到了:

foreach(Process thisProcess in processlist)
{
    Console.WriteLine("{0} {1}", thisProcess.ProcessName, thisProcess.Id);
}

这将列出所有进程ID,但需要它们拥有的互斥锁。

我读过有关使用NTDLL.dll的内容,但现在不知道如何使用。

1 个答案:

答案 0 :(得分:1)

枚举互斥锁是使用"内核对象"的一般工具的一部分。在深入研究此类代码之前,阅读the book- "Windows Internals"是个好主意。

以下是一个关于some info

enumerate kernel object链接
  

使用带有ObjectNameInformation的SystemHandleInformation,ZwDuplicateObject,ZwQueryObject的ZwQuerySystemInformation。