0

我正在使用这段代码来唯一标识计算机,但它似乎在 Windows 8.1 上无法正常工作。

HW_PROFILE_INFO HwProfInfo;
if (!GetCurrentHwProfile(&HwProfInfo))
    return;

std::wstring ws(HwProfInfo.szHwProfileGuid);
std::string GUID(ws.begin(), ws.end());

printf("%s\n", GUID.c_str());

每台 Windows 8.1 计算机都会生成此 GUID:

{bbed3e02-0b41-11e3-8249-806e6f6e6963}

这怎么可能或我做错了什么?

4

1 回答 1

0

这与在 Windows 7 (IIRC) 中消除的硬件配置文件有关。此值仅是当前硬件配置文件的句柄(如果存在),并且应该仅用于配置设置,而不是唯一标识系统的键。

对于那个和更高版本的 windows,它总是返回相同的值;我希望它仍然可以通过,以防止意外的应用程序故障。

此值不应该用于唯一标识计算机,因为它旨在管理在系统停靠/取消停靠/应用不同配置文件时发生变化的设置。

于 2014-08-22T10:31:00.150 回答