InPowerS.Net

 找回密碼
 註冊
搜索
查看: 2263|回復: 0

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

[複製鏈接]
發表於 2008-12-26 13:04:52 | 顯示全部樓層 |閱讀模式
C# 程式透過 WMI 取得 CPU 序號
請先加入參考 System.Management
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Management;
  9. namespace sln_ProcessID
  10. {
  11.       public partial class Form1 : Form
  12.       {
  13.             public Form1()
  14.             {
  15.                   InitializeComponent();
  16.             }

  17.             // 取得( 單/ 多顆) CPU 序號
  18.             private void button1_Click(object sender, EventArgs e)
  19.             {
  20.                   // 指定查詢Processor ( CPU )
  21.                   String strQry = "SELECT * FROM Win32_Processor";

  22.                   // ManagementObjectSearcher 類別, 根據指定的查詢擷取管理物件的集合。
  23.                   ManagementObjectSearcher searcher = new ManagementObjectSearcher(strQry);

  24.                    // 使用Foreach 陳述式存取集合類別中物件(元素)
  25.                   // Get 方法, 叫用指定的WMI 查詢, 並傳回產生的集合。
  26.                   foreach (ManagementObject QryObj in searcher.Get())
  27.                   {
  28.                          // 取得CPU 序號
  29.                         MessageBox.Show(QryObj["ProcessorId"].ToString());
  30.                   }
  31.             }

  32.             // 取得CPU 序號
  33.             private void button2_Click(object sender, EventArgs e)
  34.             {
  35.                   // WMI 名稱空間( Namespace )
  36.                   string strCls = "Win32_Processor";

  37.                   // 指定CPU Index , 第一顆為CPU0
  38.                   // 若有MultiProcessor 則CPU1 , CPU2 ....依此類推
  39.                   string str_CPU_ID = "CPU0";

  40.                   // ManagementObject 類別, 表示WMI 執行個體。
  41.                   ManagementObject objCls = new ManagementObject(strCls + ".DeviceID=" + """ + str_CPU_ID + """);

  42.                   // 取得CPU 序號
  43.                   MessageBox.Show(objCls.GetPropertyValue("ProcessorId").ToString());
  44.             }
  45.       }
  46. }
複製代碼
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

小黑屋|Archiver|手機版|InPowerS.Net

GMT+8, 2025-5-9 20:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表