Я пытаюсь получить 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;
Я знаю, что в Google есть еще несколько способов, но я не нашел никаких рабочих вариантов. Может быть, есть люди, которые могут сказать 100% метод?
Есть два метода:
1. Вы можете использовать std :: wstring, которая использует wchar_t, вместо std :: string, которая использует char.
2-й Вы можете использовать GetCurrentHwProfileA вместо GetCurrentHwProfileW, который будет определен как GetCurrentHwProfile, если определен UNICODE.
Это ответ на мой вопрос.
string getHWID(){
HW_PROFILE_INFO hwProfileInfo;
GetCurrentHwProfile(&hwProfileInfo);
wstring hwidWString = hwProfileInfo.szHwProfileGuid;
string hwid(hwidWString.begin(), hwidWString.end());
return hwid;
}