Détermination de la propriété d'un processus en C#
Obtenir le propriétaire d'un processus est une tâche essentielle lors de la gestion des ressources système. Dans ce contexte, vous cherchez un moyen d'identifier le propriétaire d'un processus nommé "MyApp.exe", même après avoir récupéré une liste de processus.
Bien que la classe Process fournisse des informations de base sur le processus, elle n'a pas la capacité pour déterminer la propriété. Pour relever ce défi, Windows Management Instrumentation (WMI) peut être utilisé. En ajoutant une référence à System.Management.dll, vous pouvez obtenir l'utilisateur associé à un processus.
Méthode 1 : Par ID de processus
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) { // return DOMAIN\user return argList[1] + "\" + argList[0]; } } return "NO OWNER"; }
Méthode 2 : Par nom de processus
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) { // return DOMAIN\user string owner = argList[1] + "\" + argList[0]; return owner; } } return "NO OWNER"; }
En utilisant ces méthodes basées sur WMI, vous pouvez efficacement déterminer le propriétaire d'un processus en utilisant son ID ou son nom de processus. Ces informations peuvent être inestimables pour analyser les processus du système et adapter vos applications en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!