Stu*_*ens 30 system-identification
我正在寻找一种获得独特计算机ID的方法.
根据这篇文章,我不能为此目的使用处理器ID.我可以拿主板ID吗?识别计算机的最佳方法是什么?
djd*_*d87 37
就像你说CPU Id不是唯一的一样,但是你可以将它与另一个硬件标识符一起使用来创建你自己的唯一密钥.
参考组件 System.Management
因此,使用此代码获取CPU ID:
string cpuInfo = string.Empty;
ManagementClass mc = new ManagementClass("win32_processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInfo = mo.Properties["processorID"].Value.ToString();
break;
}
Run Code Online (Sandbox Code Playgroud)
然后使用此代码获取HD ID:
string drive = "C";
ManagementObject dsk = new ManagementObject(
@"win32_logicaldisk.deviceid=""" + drive + @":""");
dsk.Get();
string volumeSerial = dsk["VolumeSerialNumber"].ToString();
Run Code Online (Sandbox Code Playgroud)
然后,您可以组合这两个序列来获取该机器的uniqueId:
string uniqueId = cpuInfo + volumeSerial;
Run Code Online (Sandbox Code Playgroud)
显然,获得ID的硬件组件越多,唯一性就越大.但是,同一台机器具有相同的CPU串行和硬盘串行的可能性已经很小.
网络适配器的MAC地址?Windows 操作系统安装的安全标识符 (SID)?(假设它是您正在处理的窗口)您能否为每台 PC 生成一个 GUID?
你到底想达到什么目的?
| 归档时间: |
|
| 查看次数: |
45504 次 |
| 最近记录: |