2

プロセス ID のリストを取得しました。このプロセスが所有するすべてのミューテックスをリストしたいと考えています。

C# でこれを実行しようとしていますが、これを行う方法が見つかりません。

これまでのところ、私は得ました:

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

これにより、すべてのプロセス ID が一覧表示されますが、それらが所有するミューテックスが必要です。

NTDLL.dll の使用について何かを読みましたが、今はその方法がわかりません。

4

1 に答える 1

2

Mutexes の列挙は、「カーネル オブジェクト」を扱う一般的な作業の一部です。そのようなコードに飛び込む前に、本「Windows Internals」を読むことをお勧めします。

これは、カーネルオブジェクトの列挙に関する情報を提供するリンクです

ZwQuerySystemInformation を SystemHandleInformation と共に使用し、ZwDuplicateObject、ZwQueryObject を ObjectNameInformation と共に使用します。

于 2012-06-29T20:34:37.453 に答える