.NET中獲取機(jī)器硬件信息

2010-08-28 10:49:35來源:西部e網(wǎng)作者:

最近幫人做個關(guān)于軟件注冊的東東,對方一定要防止大量復(fù)制和防止注冊碼通用,所以就想到用機(jī)器的硬件信息進(jìn)行注冊碼的生成,所以就牽涉到在獲取機(jī)器硬件信息。。。

在.net環(huán)境下(用VC#描述)獲取機(jī)器的硬件信息,要用到一個類庫(System.Management.dll),在解決方案資源管理器中添加System.Management 即可

我們可以將該程序編譯成.dll文件,便于以后調(diào)用;

在程序代碼中進(jìn)行引用 using System.Management;

具體 代碼為:

1.獲取機(jī)器名:

 public string GetHostName()
  {
   return System.Net.Dns.GetHostName();
  }

2.獲取CPU編號

 public string GetCpuId()

   {

    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = mc.GetInstances();
     
    String strCpuID = null ;
    foreach( ManagementObject mo in moc )
    {
     strCpuID = mo.Properties["ProcessorId"].Value.ToString();
     break;
    }
    return strCpuID;

   }

3.獲取主硬盤編號

 public string GetMainHardDiskId()

{

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

}

4.獲取bios和mac地址,這個有點(diǎn)復(fù)雜,需要用到NETAPI32.DLL

關(guān)鍵詞:dotnet

贊助商鏈接: