日期:2014-05-20  浏览次数:20455 次

100分求获取能代表计算机唯一的硬件信息

请问如何获取能代表计算机唯一的硬件信息,比如硬盘或cpu,获取它们的序列号,试了一些用wmi的办法,若是同型号的硬件会显示成一样的结果,请问有没有能唯一标识一台计算机的硬件信息,如果有请赐教获取方法!在下不胜感激!请高手指教!分不是问题!
下面是我现在获取硬盘ID的方法:
private   string   getHardDiskSn()
{
          string   HDid   =   " ";
          ManagementClass   cimobject   =   new   ManagementClass( "Win32_DiskDrive ");  
          ManagementObjectCollection   moc   =   cimobject.GetInstances();  
          foreach(ManagementObject   mo   in   moc)  
          {  
                  HDid   +=   (string)mo.Properties[ "Model "].Value+ ", ";  
          }
          return   HDid;
}
但是获取同型号硬件的计算机的结果是相同的,请问该如何解决?

------解决方案--------------------
public string DiskDrive
{//硬盘厂商
get
{
string strDiskDrive;
ManagementObjectSearcher opSearch;
ManagementObjectCollection mocSystem;
strDiskDrive= " ";
try
{
opSearch = new ManagementObjectSearcher( "SELECT * FROM Win32_DiskDrive ");
mocSystem=opSearch.Get();
foreach( ManagementObject opInfo in mocSystem)
{
strDiskDrive+= opInfo[ "PNPDeviceID "].ToString().Trim() ;
}
}
catch
{
//TO DO:添加异常处理
}
return strDiskDrive;
}
}
------解决方案--------------------
什么都不行,如果你要是有这个需求,数字证书是最好的解决方案
------解决方案--------------------
不能绝对实现吧
你可以硬盘id+网卡id
网卡一般来说是唯一的,这样几乎就可以确定啦