доступа к процессу.mainmodule.filename без исключения win32
При получении пути к запуску процессов с использованием метода Process.getPocessbyID, вы можете встретить имущество Win32exception, что превзойдет вас. Это исключение возникает при попытке извлечь информацию о модуле из определенных процессов.
решение:
, чтобы обойти эту проблему, вы можете использовать метод, описанный Джеффом Меркадо. Следующий код демонстрирует, как получить полный FilePath определенного процесса:
string s = GetMainModuleFilepath(2011);
Вот реализация метода getMainModuleFilePath:
private string GetMainModuleFilepath(int processId) { string wmiQueryString = "SELECT ProcessId, ExecutablePath FROM Win32_Process WHERE ProcessId = " processId; using (var searcher = new ManagementObjectSearcher(wmiQueryString)) { using (var results = searcher.Get()) { ManagementObject mo = results.Cast().FirstOrDefault(); if (mo != null) { return (string)mo["ExecutablePath"]; } } } return null; }
, используя инструмент управления Windows (WMI), вы можете запросить информацию о процессе и извлечь выполняемый путь без запуска Win32Exception.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3