.net中如何獲取機器硬件信息(防軟件複製版)

最近幫人做個關於軟件註冊的東東,對方一定要防止大量複製和防止註冊碼通用,所以就想到用機器的硬件信息進行註冊碼的生成,所以就牽涉到在獲取機器硬件信息。。。
在.net環境下(用VC#描述)獲取機器的硬件信息,要用到一個類庫(System.Management.dll),在解決方案資源管理器中添加System.Management 即可
我們可以將該程序編譯成.dll文件,便於以後調用;
在程序代碼中進行引用 using System.Management;
具體 代碼爲:
1.獲取機器名:
 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地址,這個有點複雜,需要用到NETAPI32.DLL
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章