从运行过程中获取DLL名称可能吗?
我正在寻找一种从正在运行的进程中获取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
注意:对于您没有访问权限的某些系统进程,此代码可能会感到沮丧。