雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

C#中通过代码获取当前系统主板BIOS中序列号等信息的方法

2024-08-04 116

在Windows中获取系统BIOS中的各种信息,可以用wmic命令,如下:

wmic BIOS get name,manufacturer,version,serialnumber,releasedate,currentlanguage,description
  • Name: 主板BIOS名称
  • SerialNumber: 主板BIOS序列号
  • Version: 主板BIOS版本号
  • ReleaseDate: 主板BIOS生产日期
  • CurrentLanguage: 主板BIOS语言
  • Manufacturer: 主板BIOS制造商
  • Description: 主板BIOS描述信息
  • Status: 主板BIOS状态

有时候,我们在软件中需要获取当前系统主板的序列号,在C#中可以使用Win32_BaseBoard WMI对象中的“SerialNumber”是属性,代码如下:

using System;
using System.Management;

namespace get_mother_board_sn
{
    class Program
    {
        static void Main(string[] args)
        {
           //如果使用Win32_BaseBoard返回了字符串“To be filled by O.E.M.”,可以使用Win32_BIOS获取。
            ManagementObjectSearcher moSearcher =
                 new ManagementObjectSearcher(SELECT SerialNumber FROM Win32_BaseBoard); 
                 
            ManagementObjectCollection info = moSearcher.Get();
            foreach (ManagementObject obj in info)
            {
                foreach (PropertyData data in obj.Properties)
                    Console.WriteLine({0} = {1}, data.Name, data.Value);
                Console.WriteLine();
            }
            moSearcher.Dispose();
        }
    }
}

以上代码主要添加引用程序集:System.Management,仅支持windows中获取系统主板序列号。
如果使用Win32_BaseBoard返回了字符串“To be filled by O.E.M.”,可以使用Win32_BIOS获取。
需要了更多WMI类和属性,可以参考微软手册:https://docs.microsoft.com/zh-cn/windows/win32/wmisdk/wmi-start-page?redirectedfrom=MSDN

更新于:3个月前
赞一波!2

文章评论

评论问答