C# 程式 如何取得 CPU 序號

C# 程式 如何取得 CPU 序號

C# 程式透過 WMI 取得 CPU 序號

請先加入參考 System.Management

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Management;

namespace sln_ProcessID

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

// 取得( 單/ 多顆) CPU 序號

private void button1_Click(object sender, EventArgs e)

{

// 指定查詢Processor ( CPU )

String strQry = "SELECT * FROM Win32_Processor";

// ManagementObjectSearcher 類別, 根據指定的查詢擷取管理物件的集合。

ManagementObjectSearcher searcher = new ManagementObjectSearcher(strQry);

// 使用Foreach 陳述式存取集合類別中物件(元素)

// Get 方法, 叫用指定的WMI 查詢, 並傳回產生的集合。

foreach (ManagementObject QryObj in searcher.Get())

{

// 取得CPU 序號

MessageBox.Show(QryObj["ProcessorId"].ToString());

}

}

// 取得CPU 序號

private void button2_Click(object sender, EventArgs e)

{

// WMI 名稱空間( Namespace )

string strCls = "Win32_Processor";

// 指定CPU Index , 第一顆為CPU0

// 若有MultiProcessor 則CPU1 , CPU2 ....依此類推

string str_CPU_ID = "CPU0";

// ManagementObject 類別, 表示WMI 執行個體。

ManagementObject objCls = new ManagementObject(strCls + ".DeviceID=" + "\"" + str_CPU_ID + "\"");

// 取得CPU 序號

MessageBox.Show(objCls.GetPropertyValue("ProcessorId").ToString());

}

}

}