実行中のプロセスから DLL 名を取得する方法を探しています。
名前または PID を介してこのプロセスに「接続」し、可能であれば使用している DLL 名を取得する必要があります。
よろしく。
はい、可能です。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
注: このコードは、アクセス許可を持たない特定のシステム プロセスに対して混乱する可能性があります。