如何获取CPU唯一标识??
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strID = null;
foreach (ManagementObject mo in moc)
{
strID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
textBox1.Text = strID;
我用了以上方法 但是经过测试 发现 并不是唯一的
求
怎么才能获取唯一的标识!!!
------解决方案--------------------下面是详细说明:
MAC(Media Access Control, 介质访问控制)MAC地址是烧录在Network Interface Card(网卡,NIC)里的.
MAC地址,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.
0-23位是由厂家自己分配.24-47位,叫做组织唯一标志符(organizationally unique ,是识别LAN(局域网)节点的标识。
其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
另外,现在大部分电脑都是带网卡的。当然也有个别是不带网卡的。这样你可以通过网卡物理地址/CPU序列号来实现你的功能,也就是如果没有读取到网卡信息可以转而去读CPU序列号来作为标示。