我正在使用这段代码来唯一标识计算机,但它似乎在Windows 8.1上不能正常工作。
HW_PROFILE_INFO HwProfInfo;
if (!GetCurrentHwProfile(&HwProfInfo))
return;
std::wstring ws(HwProfInfo.szHwProfileGuid);
std::string GUID(ws.begin(), ws.end());
printf("%sn", GUID.c_str());
每台Windows 8.1计算机生成这个GUID:
{bbed3e02 - 0 - b41 - 11 - e3 - 8249 - 806 - e6f6e6963}
这怎么可能或者我做错了什么?
这与Windows 7 (IIRC)中取消的硬件配置文件有关。这个值只是当前硬件配置文件的句柄如果存在的话,应该只用于配置设置,而不是唯一标识系统的键。
对于该版本和更高版本的windows,它总是返回相同的值;我希望它仍然通过,以防止意外的应用程序失败。
此值不应该用于唯一标识计算机,因为它用于管理在系统停靠/未停靠/应用不同配置文件时变化的设置。