我正在寻找一种从正在运行的进程中获取 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
注意:此代码可能会对您无权访问的某些系统进程造成干扰。
关于c# - 从正在运行的进程中获取 DLL 名称,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14243306/