日期:2014-05-19  浏览次数:20757 次

如何用C#2005获取 主板序列号???
我这了网上的这个例子,

                private   string   GetBIOSNumber()
                {
                        ManagementObjectSearcher   searcher   =   new   ManagementObjectSearcher( "Select   SerialNumber   From   Win32_BIOS ");
                        string   biosNumber   =   null;
                        foreach   (ManagementObject   mgt   in   searcher.Get())
                        {
                                biosNumber   =   mgt[ "SerialNumber "].ToString();
                        }
                        return   biosNumber;
                }  

但是返回的是一个空字符串??
帮帮忙大家

------解决方案--------------------
你搜索一下WMITools一下 然后安装一个,看看这里面显示的主板序列号是多少
这里面能查出来的,代码应该都能查出来
------解决方案--------------------
我试了,代码不对吧,也是空白字符串
------解决方案--------------------
http://topic.csdn.net/t/20020816/14/946261.html
------解决方案--------------------
有的能查有的不能查当然是跟托管代码有关系
譬如WMI能查多数硬盘的序列号,可是对于SCSI硬盘就不一定能查出来
------解决方案--------------------
select * from Win32_baseboard
------解决方案--------------------
ManagementObjectSearcher searcher = new ManagementObjectSearcher( "Select SerialNumber From Win32_BIOS "); //这句话改为下面
ManagementObjectSearcher searcher = new ManagementObjectSearcher( "SELECT * FROM Win32_PhysicalMedia ");
------解决方案--------------------
楼上的是获取的硬盘号吧
------解决方案--------------------
有个简单的方法

MessageBox.Show( "请输入您的主板序列号。 ", "提示 ");

这样就可以获得了

呵呵 :)
------解决方案--------------------
是我看错了,的确是硬盘的,主板是:select * from Win32_baseboard