Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mendapatkan Pemilik Proses dalam C# Menggunakan WMI?
Dapatkan pemilik proses dalam C#
Kawalan yang tepat dan pengurusan keselamatan memerlukan akses kepada memproses maklumat pemilik. Artikel ini menerangkan kaedah untuk mendapatkan pemilik proses menggunakan Instrumen Pengurusan Windows (WMI).
Pertama, anda perlu memetik System.Management.dll
. Ini akan membolehkan anda menggunakan rangka kerja WMI.
Dapatkan pemilik melalui ID proses
Coretan kod berikut mendapat pemilik proses berdasarkan ID prosesnya:
<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>
Dapatkan pemilik mengikut nama proses
Untuk mendapatkan pemilik mengikut nama proses, anda boleh menggunakan coretan kod berikut:
<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>
Dengan menggunakan WMI, anda boleh menentukan pemilik proses dengan berkesan, memperoleh fleksibiliti dan keselamatan dalam mengurus sumber sistem.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Pemilik Proses dalam C# Menggunakan WMI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!