using System.Management; //取主板序号       //获取主板序号
        private static string GetMotherBoardSerialNumber()
        {
            ManagementClass mcMotherBoard = new ManagementClass("WIN32_Motherboard");
            ManagementObjectCollection mocMotherBoard = mcMotherBoard.GetInstances();
            string SerialNumber = "";
            foreach (ManagementObject mo in mocMotherBoard)
            {
                SerialNumber = mo["SerialNumber"].ToString();
                break;
            }
            return SerialNumber;
        }

解决方案 »

  1.   

    取主板序列号,应用BIOS
    ManagementClass mcMotherBoard = new ManagementClass("Win32_BIOS");
      

  2.   

    问题是我用这个BIOS也取不到值。为何呀?高手指点下呀。
     
           private static string GetBIOSNumber()
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select SerialNumber From Win32_BIOS");
                string biosNumber = string.Empty;
                foreach (ManagementObject mgt in searcher.Get())
                {
                    biosNumber += mgt["SerialNumber"].ToString();
                }
                return biosNumber;
            }
      

  3.   


    static void Main(string[] args)
            {
                ManagementClass mc = new ManagementClass("Win32_BIOS");            ManagementObjectCollection moc = mc.GetInstances();
                string sn = "";
                foreach (ManagementObject mo in moc)
                {
                    sn = mo.Properties["SerialNumber"].Value.ToString();
                }
                mc.Dispose();
                moc.Dispose();
                Console.Write(sn);
                Console.ReadLine();
            }
      

  4.   

    对的 照常量说BIOS是可以读取出来的  有可能就是你的电脑版本太低了