通过WMI发现某个进程的关联文件?

时间:2010-09-22 11:44:22

标签: c# wmi

是否可以确定某个进程(id),哪些文件与之关联(即可执行文件以及进程当前访问的所有文件)?

我必须使用WMI,除非没有其他选项来避免NtQuerySystemInformation。我已经有一段代码可以确定某个文件,哪些进程当前正在使用它。但我需要一种相反方向的有效方法。

非常感谢。

2 个答案:

答案 0 :(得分:0)

我找不到WMI的任何内容,但如果该过程是本地的,则可以使用Modules类的System.Diagnostics.Process

Process[] processesByName = Process.GetProcessesByName("Myexe.exe");
foreach (ProcessModule module in processesByName[0].Modules)
{
    Console.WriteLine(module.FileName);
} 

答案 1 :(得分:0)

据我所知,没有wmi类来请求正在运行的进程的打开句柄,您必须使用NtQuerySystemInformation函数。在C#中使用此函数检查此link以获取演示项目。