Prozesseigentümer in C# abrufen
Eine genaue Steuerung und Sicherheitsverwaltung erfordern Zugriff auf die Informationen des Prozessinhabers. In diesem Artikel wird eine Methode zum Ermitteln des Eigentümers eines Prozesses mithilfe der Windows-Verwaltungsinstrumentation (WMI) beschrieben.
Zuerst müssen Sie zitieren System.Management.dll
. Dadurch können Sie das WMI-Framework verwenden.
Eigentümer anhand der Prozess-ID ermitteln
Der folgende Codeausschnitt ermittelt den Eigentümer eines Prozesses anhand seiner Prozess-ID:
<code class="language-csharp">public string GetProcessOwner(int processId) { string query = "Select * From Win32_Process Where ProcessID = " + processId; ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); ManagementObjectCollection processList = searcher.Get(); foreach (ManagementObject obj in processList) { string[] argList = new string[] { string.Empty, string.Empty }; int returnVal = Convert.ToInt32(obj.InvokeMethod("GetOwner", argList)); if (returnVal == 0) { // 返回 DOMAIN\user 格式 return argList[1] + "\" + argList[0]; } } return "NO OWNER"; }</code>
Eigentümer anhand des Prozessnamens ermitteln
Um den Besitzer anhand des Prozessnamens zu ermitteln, können Sie den folgenden Codeausschnitt verwenden:
<code class="language-csharp">public string GetProcessOwner(string processName) { string query = "Select * from Win32_Process Where Name = \"" + processName + "\""; ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); ManagementObjectCollection processList = searcher.Get(); foreach (ManagementObject obj in processList) { string[] argList = new string[] { string.Empty, string.Empty }; int returnVal = Convert.ToInt32(obj.InvokeMethod("GetOwner", argList)); if (returnVal == 0) { // 返回 DOMAIN\user 格式 string owner = argList[1] + "\" + argList[0]; return owner; } } return "NO OWNER"; }</code>
Durch die Verwendung von WMI können Sie den Eigentümer eines Prozesses effektiv bestimmen und so Flexibilität und Sicherheit bei der Verwaltung von Systemressourcen gewinnen.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von WMI den Besitzer eines Prozesses in C# ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!