2

実行中のプロセスから DLL 名を取得する方法を探しています。

名前または PID を介してこのプロセスに「接続」し、可能であれば使用している DLL 名を取得する必要があります。

よろしく。

4

1 に答える 1

6

はい、可能です。Processクラスを使用できます。Modulesロードされたすべてのモジュールをリストするプロパティがあります。

たとえば、すべてのプロセスとすべてのモジュールをコンソールに一覧表示するには、次のようにします。

Process[] processes = Process.GetProcesses();

foreach(Process process in processes) {
    Console.WriteLine("PID:  " + process.Id);
    Console.WriteLine("Name: " + process.ProcessName);
    Console.WriteLine("Modules: ");

    foreach(ProcessModule module in process.Modules) {
        Console.WriteLine(module.FileName);
    }
}

Process.Idもちろん、希望するPIDなどを確認できます。

詳細については、このクラスのドキュメントを確認してください:-

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

注: このコードは、アクセス許可を持たない特定のシステム プロセスに対して混乱する可能性があります。

于 2013-01-09T17:52:32.027 に答える