Code::Blocks 中的 GetCurrentHwProfile (C)

发布于 2024-10-31 15:01:03 字数 940 浏览 1 评论 0原文

我试图使用以下代码从 Code::Blocks IDE 中的 C 窗口获取 GUID:

#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <stdio.h>

void getHWID()
{
    HW_PROFILE_INFO hwProfileInfo;

    if(GetCurrentHwProfile(&hwProfileInfo))
    {
        printf("Hardware GUID: %s\n",    hwProfileInfo.szHwProfileGuid);
        printf("Hardware Profile: %s\n", hwProfileInfo.szHwProfileName);
    }
}

即使我正在链接并包含所需的所有文件,我仍然收到这些错误:

在函数“getHWID”中:警告: 函数的隐式声明 '获取当前硬件配置文件'

在函数 getHWID' 中:未定义 引用GetCurrentHwProfile'

||=== 构建完成:1 个错误,1 个 警告===|

如果有人遇到过这个问题或知道如何解决它,请告诉我。另外,如果我右键单击 HW_PROFILE_INFOGetCurrentHwProfile 并单击查找声明,它会显示未找到。

我想让这个工作发挥作用,但我也愿意接受其他简单的方法来完成这个工作。

编辑:我现在已经包含了 Winbase.h,它找到了 HW_PROFILE_INFO 的声明,但我仍然收到 GetCurrentHwProfile 的未定义引用错误

I am trying to get the GUID from windows in C in the Code::Blocks IDE with the following code:

#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <stdio.h>

void getHWID()
{
    HW_PROFILE_INFO hwProfileInfo;

    if(GetCurrentHwProfile(&hwProfileInfo))
    {
        printf("Hardware GUID: %s\n",    hwProfileInfo.szHwProfileGuid);
        printf("Hardware Profile: %s\n", hwProfileInfo.szHwProfileName);
    }
}

I keep getting these errors even though I am linking and including all the files required:

In function 'getHWID': warning:
implicit declaration of function
'GetCurrentHwProfile'

In function getHWID': undefined
reference to
GetCurrentHwProfile'

||=== Build finished: 1 errors, 1
warnings ===|

Let me know if anyone has had this problem or know how to fix it. Also if I right click HW_PROFILE_INFO or GetCurrentHwProfile and click Find Declaration it says not found.

I would like to get this to work, but I am also open to other simple ways to get this done.

edit: I've included Winbase.h now and it found a declaration for HW_PROFILE_INFO but I still get a undefined reference error for GetCurrentHwProfile

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

煮茶煮酒煮时光 2024-11-07 15:01:03

您是否配置了 Code::Blocks 以包含正确的 SDK(我相信此函数是 Windows SDK 的一部分)?我建议使用 Microsoft Visual Studio 编写 Windows 代码。

编辑:我不确定这是否是您需要做的全部,但是他们的 wiki 关于如何使用微软的编译器。

Have you configured Code::Blocks to include the correct SDK (I believe this function is part of the Windows SDK)? I suggest using Microsoft Visual Studio to write Windows code.

EDIT: I'm not sure if this is all you need to do, but there is a section in the their wiki about how to use the Microsoft's compiler.

风筝有风,海豚有海 2024-11-07 15:01:03

更改

GetCurrentHwProfile

GetCurrentHwProfileA

或添加

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

看看 GetCurrentHwProfile 不是使用 MinGW 的 g++ 编译器在此范围内声明

Change

GetCurrentHwProfile

to

GetCurrentHwProfileA

or add

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

have a look GetCurrentHwProfile was not declared in this scope using MinGW's g++ compiler

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文