gpt4 book ai didi

c++ - 未使用 MinGW 的 g++ 编译器在此范围内声明 GetCurrentHwProfile

转载 作者:行者123 更新时间:2023-11-28 03:20:36 27 4
gpt4 key购买 nike

我一直在尝试获取硬件 GUID,我在网上找到了这个函数。

#define _WIN32_WINNT 0x0400

#include <windows.h>
#include <stdio.h>
#include <tchar.h>

int main()
{
HW_PROFILE_INFO hwProfileInfo;

if(GetCurrentHwProfile(&hwProfileInfo) != NULL){
printf("Hardware GUID: %s\n", hwProfileInfo.szHwProfileGuid);
printf("Hardware Profile: %s\n", hwProfileInfo.szHwProfileName);
}else{
return 0;
}

getchar();
}

问题是,每当我尝试编译它时,我都会收到“错误:'GetCurrentHwProfile' 未在此范围内声明”。我正在使用 MinGW 的 G++。也许这就是问题所在?

最佳答案

不错的收获! (如果你可以这样调用它的话)

问题是,如果您愿意,GetCurrentHwProfile 通常是一个捷径。在使用 UNICODE 支持进行编译时,它会更改为 GetCurrentHwProfileW。否则,它会更改为 GetCurrentHwProfileA。

解决方案?只需在末尾添加一个 A。即 GetCurrentHwProfileA:)

BB.b.b.ut - 请记住,如果您最终决定使用 unicode,则必须明确更改它。一种更简洁的解决方案是让 GetCurrentHwProfile 根据需要引用正确的解决方案。我想这可能是通过类似的方式完成的:(现在懒得看。所有的 Windows 函数都使用这个技巧,猜测 minGW 人群错过了这个小 gem ,即 GetCurrentHwProfile)

#ifdef UNICODE
#define GetCurrentHwProfile GetCurrentHwProfileW
#else
#define GetCurrentHwProfile GetCurrentHwProfileA
#endif

关于c++ - 未使用 MinGW 的 g++ 编译器在此范围内声明 GetCurrentHwProfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15544526/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com