The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何用 C# 取得 CPU 序號

取得 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();

        }

    }

}


 

相關連結