C#涓璵anagementobjectsearcher鎬庝箞浣跨敤
鍦–#涓紝鍙互浣跨敤ManagementObjectSearcher绫绘潵鎵цWMI(Windows Management Instrumentation)鏌ヨ銆備笅闈㈡槸浣跨敤ManagementObjectSearcher鐨勪竴鑸楠わ細
- 寮曠敤鍛藉悕绌洪棿锛氬湪浠g爜鏂囦欢鐨勯《閮ㄦ坊鍔犱互涓嬪紩鐢ㄥ懡鍚嶇┖闂达細
using System.Management;
- 鍒涘缓鏌ヨ璇彞锛氫娇鐢╓QL (WMI Query Language) 鍒涘缓涓€涓煡璇㈣鍙ワ紝渚嬪锛?/li>
string query = "SELECT * FROM Win32_Process";
- 鍒涘缓ManagementObjectSearcher瀵硅薄锛氫娇鐢ㄦ煡璇㈣鍙ュ垱寤轰竴涓狹anagementObjectSearcher瀵硅薄锛屼緥濡傦細
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
- 鎵ц鏌ヨ骞惰幏鍙栫粨鏋滐細浣跨敤Get()鏂规硶鎵ц鏌ヨ锛屽苟閫氳繃foreach寰幆閬嶅巻缁撴灉锛?/li>
foreach (ManagementObject obj in searcher.Get())
{
// 澶勭悊鏌ヨ缁撴灉
}
- 澶勭悊鏌ヨ缁撴灉锛氬湪foreach寰幆涓紝鍙互浣跨敤ManagementObject瀵硅薄鐨勫睘鎬у拰鏂规硶鏉ュ鐞嗘煡璇㈢粨鏋滐紝渚嬪锛?/li>
string processName = obj["Name"].ToString();
string processId = obj["ProcessId"].ToString();
瀹屾暣绀轰緥浠g爜濡備笅鎵€绀猴細
using System;
using System.Management;
namespace WMIExample
{
class Program
{
static void Main(string[] args)
{
string query = "SELECT * FROM Win32_Process";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach (ManagementObject obj in searcher.Get())
{
string processName = obj["Name"].ToString();
string processId = obj["ProcessId"].ToString();
Console.WriteLine("Process Name: " + processName);
Console.WriteLine("Process ID: " + processId);
Console.WriteLine("-------------------------");
}
Console.ReadLine();
}
}
}
涓婅堪浠g爜灏嗘煡璇㈠苟鎵撳嵃鍑烘墍鏈夋鍦ㄨ繍琛岀殑杩涚▼鐨勫悕绉板拰杩涚▼ID銆?/p>
璇锋敞鎰忥紝ManagementObjectSearcher绫昏繕鍙互鎺ュ彈鍏朵粬鍙傛暟鏉ユ洿绮剧‘鍦拌繃婊ゆ煡璇㈢粨鏋滐紝渚嬪浣跨敤WHERE瀛愬彞闄愬埗缁撴灉闆嗐€傛湁鍏虫洿澶氳缁嗕俊鎭紝璇峰弬闃匨icrosoft鏂囨。銆?/p>