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 に答える