如何获取服务器的硬件信息,比如cup序列号,硬盘序列号等?

解决方案 »

  1.   

    .net里是没有这样的类的,可以考虑用api。
      

  2.   

    这里:
    http://dev.21tx.com/2005/01/08/11565.html
      

  3.   

    CPU:
    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach( ManagementObject mo in moc ) 
    {
      MyCpuID = mo.Properties["ProcessorId"].Value.ToString();
      break; 
    }
      

  4.   

    硬盘:
    ManagementObjectSearcher searcher = 
           new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");foreach(ManagementObject mo in searcher.Get())
    {
       strHardDiskID = mo["SerialNumber"].ToString().Trim();
       break;
    }
      

  5.   

    查看帮助:
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemmanagementmanagementobjectsearcherclasstopic.htm
    --------------------------------------------------------------
    基于指定的查询检索管理对象的集合。此类是用于检索管理信息的较为常用的入口点之一。例如,它可以用于枚举系统中的所有磁盘驱动器......
    --------------------------------------------------------------
      

  6.   

    看看这个:
    http://dotnet.aspx.cc/ShowDetail.aspx?id=6977HLMY-ELPN-4KIR-BI89-7YS2LNENT5HR
      

  7.   

    这两个命名空间的类,应该有相应的方法using System.Resources;
    using System.Runtime.InteropServices;
      

  8.   

    用wmistring cpuInfo = "";//cpu序列号 
       ManagementClass cimobject = new ManagementClass("Win32_Processor"); 
       ManagementObjectCollection moc = cimobject.GetInstances(); 
       foreach(ManagementObject mo in moc) 
       { 
        cpuInfo = mo.Properties["ProcessorId"].value.ToString(); 
        Console.WriteLine(cpuInfo); 
        Console.ReadLine(); 
       } 获取硬盘ID 
    String HDid; 
    ManagementClass cimobject = new ManagementClass("Win32_DiskDrive"); 
    ManagementObjectCollection moc = cimobject.GetInstances(); 
    foreach(ManagementObject mo in moc) 

     HDid = (string)mo.Properties["Model"].value; 
     MessageBox.Show(HDid  );  

    获取网卡硬件地址 
    using System.Management; 
    ... 
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
    ManagementObjectCollection moc = mc.GetInstances(); 
    foreach(ManagementObject mo in moc) 

    if((bool)mo["IPEnabled"] == true) 
    Console.WriteLine("MAC address\t{0}", mo["MacAddress"].ToString()); 
    mo.Dispose();