Zugriff auf Prozess.mainmodule.filename ohne Win32 Exception
Wenn Sie den Pfad zum Ausführen von Prozessen mit dem Prozess, der Sie auf die Mainmodula -Zugriffs -Zugriffs -Methode vergrößert, auf die Mainmodula -Methode abrufen können. Diese Ausnahme ergibt sich beim Versuch, Modulinformationen aus bestimmten Prozessen abzurufen.
Lösung:
Um dieses Problem zu umgehen, können Sie eine von Jeff Mercado beschriebene Methode anwenden. Der folgende Code zeigt, wie man den vollständigen Filepath eines bestimmten Prozesses erhält:
string s = GetMainModuleFilepath(2011);
Hier ist die Implementierung der GetMainmodulFilePath -Methode:
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; }
Durch die Nutzung der Windows Management Instrumentation (WMI) können Sie Prozessinformationen abfragen und den ausführbaren Weg extrahieren, ohne die Win32Exception auszulösen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3