首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 取得本機 MAC 位址、CPU 序號、硬碟序號

     編輯:關於C語言

使用 WMI (System.Management) 查詢硬體資訊

1. 取得 MAC 位址


private string GetMac()
{
    string mac = "本機 MAC 位址:";
    using (var mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
    {
        foreach (ManagementObject mo in mc.GetInstances())
        {
            if ((bool)mo["IPEnabled"])
            {
                string[] parts = mo["MacAddress"].ToString().Split(':');
                foreach (var p in parts) mac += p;
            }
        }
    }
    return mac + "\r\n";
}

2. 取得 CPU 序號 (ProcessorId)


private string GetCPUID()
{
    string cpu = "本機 CPU 序號:";
    using (var mc = new ManagementClass("Win32_Processor"))
    {
        foreach (ManagementObject mo in mc.GetInstances())
            cpu += mo["ProcessorId"].ToString().Trim();
    }
    return cpu + "\r\n";
}

3. 取得硬碟型號 (Model) — 注意非序號


private string GetHardID()
{
    string hdd = "本機硬碟型號:";
    using (var mc = new ManagementClass("Win32_DiskDrive"))
    {
        foreach (ManagementObject mo in mc.GetInstances())
            hdd += mo["Model"].ToString().Trim();
    }
    return hdd + "\r\n";
}

補充說明

  • 需參考 System.Management.dll。
  • Win32_NetworkAdapterConfiguration 只取 IPEnabled=true 的實體網卡。
  • Win32_DiskDrive 的 Model 為型號,若需真正序號請查 SerialNumber 屬性 (可能需管理員權限)。
  • 虛擬機/雲端環境下部分資訊可能為空或通用值。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved