从运行过程中获取DLL名称可能吗?

时间:2013-01-09 17:48:22

标签: c# dll process

我正在寻找一种从正在运行的进程中获取DLL名称的方法,对不起,如果我表达自己很差。

我需要通过它的名称或PID“连接”到这个进程,并在可能的情况下检索它正在使用的DLL名称。

问候。

1 个答案:

答案 0 :(得分: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

注意:对于您无权访问的某些系统进程,此代码可能会感到沮丧。