取得 CPU 序號可以用來辨識用戶端電腦的唯一性,因為通常 CPU 不會壞也不常換。
1. 專案請先加入參考 System.Management
2. 透過 ManagementObjectSearcher 查詢
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
namespace GetCPUID
{
class Program
{
/// <summary>
/// 取得所有 CPU 序號
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
// 透過 ManagementObjectSearcher 類別用類似 SQL 的語法查詢
ManagementObjectSearcher wmiSearcher
= new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
int i = 0;
// 使用 ManagementObjectSearcher 的 Get 方法取得所有集合
foreach (ManagementObject obj in wmiSearcher.Get())
{
// 取得CPU 序號
Console.WriteLine("CPU{0} ID:\t{1}", i++, obj["ProcessorId"].ToString());
}
// 或透過 ManagementObject 類別直接存取特定 CPU 序號
//ManagementObject wmiObj = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
//Console.WriteLine("CPU{0} ID:\t{1}", 0, wmiObj.GetPropertyValue("ProcessorId").ToString());
Console.ReadKey();
}
}
}
相關連結