Обнаружить связанные файлы определенного процесса через WMI? - PullRequest
0 голосов
/ 22 сентября 2010

Можно ли определить для определенного процесса (id), какие файлы связаны с ним (то есть исполняемый файл, а также все файлы, к которым в данный момент обращается процесс)?

Я должен использовать WMI, если нет другой опции, чтобы избежать NtQuerySystemInformation. У меня уже есть фрагмент кода, который может определить для определенного файла, какие процессы в настоящее время используют его. Но мне нужен эффективный путь в обратном направлении.

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 22 сентября 2010

Насколько я знаю, что не существует класса wmi для запроса открытых дескрипторов для выполняющегося процесса, вы должны использовать функцию NtQuerySystemInformation. проверьте эту ссылку для демонстрационного проекта, использующего эту функцию в C #.

0 голосов
/ 22 сентября 2010

Я ничего не могу найти с WMI, но если процесс локальный, вы можете использовать Modules класса System.Diagnostics.Process.

Process[] processesByName = Process.GetProcessesByName("Myexe.exe");
foreach (ProcessModule module in processesByName[0].Modules)
{
    Console.WriteLine(module.FileName);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...