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());
}
}
}