我这了网上的这个例子,        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;
        } 但是返回的是一个空字符串??
帮帮忙大家

解决方案 »

  1.   

    你搜索一下WMITools一下 然后安装一个,看看这里面显示的主板序列号是多少
    这里面能查出来的,代码应该都能查出来
      

  2.   

    http://topic.csdn.net/t/20020816/14/946261.html
      

  3.   

    有的能查有的不能查当然是跟托管代码有关系
    譬如WMI能查多数硬盘的序列号,可是对于SCSI硬盘就不一定能查出来
      

  4.   

    select * from Win32_baseboard
      

  5.   

    ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select SerialNumber From Win32_BIOS"); //这句话改为下面
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
      

  6.   

    有个简单的方法MessageBox.Show("请输入您的主板序列号。","提示");这样就可以获得了呵呵 :)
      

  7.   

    是我看错了,的确是硬盘的,主板是:select * from Win32_baseboard
      

  8.   

    ManagementObjectSearcher   searcher   =   new   ManagementObjectSearcher( "Select   SerialNumber   From   Win32_BIOS ");   //这句话改为下面 
    ManagementObjectSearcher   searcher   =   new   ManagementObjectSearcher( "SELECT   *   FROM   Win32_PhysicalMedia ");==============================================================================================Select ?感觉象是从表里取得的啊.  Win32_BIOS /Win32_PhysicalMedia 怎么知道这些里面的列名有哪些?