0
我想制作一个软件,用一个唯一的ID激活它。所以我得到了软件序列号的mac地址,但在某些计算机上,mac被计算机的重置所改变。所以我必须设置序列号来激活软件。哪个硬件ID是唯一的?
您打算如何使用C#中的序列号?
我想制作一个软件,用一个唯一的ID激活它。所以我得到了软件序列号的mac地址,但在某些计算机上,mac被计算机的重置所改变。所以我必须设置序列号来激活软件。哪个硬件ID是唯一的?
您打算如何使用C#中的序列号?
没有可用的通用硬件ID,英特尔试图在处理器序列号的Pentium III中提供一个,但有a large controversy over it,它从后面的型号中删除,并且在后代中不存在。
您可以读取特定的硬件ID,但没有标准的方法来执行此操作。查看链接问题“What's a good way to uniquely identify a computer?”以获取一些可能的选择。
当我需要这样做时,我所做的选项是使用Windows序列号,即使对于克隆机器(由于它在sysprep
过程中更改),它应该是唯一的每台机器,除非它们也违反了微软的许可并且没有系统准备的克隆。
这可以通过WMI
被retreivedvar s = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_OperatingSystem");
var obj = s.Get().Cast<ManagementObject>().First();
var serial = obj["SerialNumber"].ToString();
Windows许可证可能不是唯一的,某些Windows许可证类型可以激活多达3台不同的计算机。 – FrakyDale
这3台电脑的序列号会有所不同。序列号不是许可证密钥。 –