我想制作一个软件,用唯一的Id激活它。所以我获得了软件序列号的mac地址,但在某些计算机中,mac通过重置计算机而被更改。所以我必须再设置序列号来激活软件。
您建议在C#中使用什么序列号?
答案 0 :(得分:0)
没有可用的通用硬件ID,英特尔试图在其奔腾III中提供处理器序列号,但有a large controversy over it并且它已从以后的型号中删除,并且在后代中不存在。
您可以读取特定的硬件ID,但没有标准化的方法。有关可能的选择,请参阅关联的问题“What's a good way to uniquely identify a computer?”。
我需要这样做的选项是使用Windows序列号,每个机器应该是唯一的,即使对于克隆的机器(由于它在sysprep
过程中发生变化),除非它们违反微软的许可也是没有系统化的克隆。
这可以通过WMI
进行检索var s = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_OperatingSystem");
var obj = s.Get().Cast<ManagementObject>().First();
var serial = obj["SerialNumber"].ToString();