http://blog.sina.com.cn/s/blog_4554789b0100089f.html

解决方案 »

  1.   

    private void button1_Click(object sender, EventArgs e)
    {
    string cpuInfo = "";//cpu序列号
    ManagementClass cimobject = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = cimobject.GetInstances();
    foreach (ManagementObject mo in moc)
    {
    cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
    this.txtcpu.Text = "cpu序列号:" + cpuInfo.ToString();
    }
    //获取硬盘ID
    String HDid;
    ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
    ManagementObjectCollection moc1 = cimobject1.GetInstances();
    foreach (ManagementObject mo in moc1)
    {
    HDid = (string)mo.Properties["Model"].Value;
    this.txtharddisk.Text = "硬盘序列号:" + HDid.ToString();
    } //获取网卡硬件地址    9558821702001755616
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
    ManagementObjectCollection moc2 = mc.GetInstances();
    foreach (ManagementObject mo in moc2)
    {
    if ((bool)mo["IPEnabled"] == true)
    this.txtic.Text = "MAC address\t{0}" + mo["MacAddress"].ToString();
    mo.Dispose();
    }
    }
      

  2.   

    添加这个引用System.Management.dll
      

  3.   

    不错,我测试了,都可以,不过好像里面还能得出许多其他的数据,像mo.Properties["ProcessorId"].Value.ToString();换了["ProcessorId"]就应该能得到其他的值,如何才能获取所有里面的值呢?
      

  4.   

    http://blog.csdn.net/chengking/archive/2006/01/07/572650.aspx
      

  5.   

    =============
    =============
    =============强烈建议楼主到这里看看=============
    =============
    =============http://www.msproject.cn/Article/GetHardwareInformation.aspxhttp://bbs.msproject.cn/default.aspx?g=posts&t=39
      

  6.   

    去我的blog看看吧,WMI获取远程和本地信息~~~很全面http://blog.csdn.net/lhfzd2004