侧边栏壁纸
  • 累计撰写 185 篇文章
  • 累计创建 77 个标签
  • 累计收到 17 条评论

目 录CONTENT

文章目录

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

码峰
2022-07-06 / 0 评论 / 0 点赞 / 1,520 阅读 / 326 字 / 正在检测是否收录...
广告 广告

在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

0
广告 广告

评论区