-4

我正在尝试HWID通过hwProfileInfo课程,但它返回我无法将WCHAR[39] 转换为字符串。

string getHWID(){
  string hardware_guid

  HW_PROFILE_INFO hwProfileInfo;
  GetCurrentHwProfile(&hwProfileInfo);
  hardware_guid = hwProfileInfo.szHwProfileGuid;

  return hardware_guid;
}

比我尝试这种方式,但它只返回“{”

hardware_guid = (char*)hwProfileInfo.szHwProfileGuid;

我知道谷歌还有更多方法,但我没有找到任何有效的变体。可能有些人,谁能说出100%的方法?

4

2 回答 2

0

有两种方法: 1st 你可以使用std::wstring,它使用wchar_t,而不是std::string,它使用char。2nd 您可以使用 GetCurrentHwProfileA 代替 GetCurrentHwProfileW,如果定义了 UNICODE,它将被定义为 GetCurrentHwProfile。

于 2017-06-18T11:53:57.367 回答
-4

这是我的问题的答案。

string getHWID(){  
  HW_PROFILE_INFO hwProfileInfo;
  GetCurrentHwProfile(&hwProfileInfo);
  wstring hwidWString = hwProfileInfo.szHwProfileGuid;  
  string hwid(hwidWString.begin(), hwidWString.end());

  return hwid;
}
于 2017-06-18T11:53:30.207 回答