我正在尝试使用以下代码从C:中的Windows窗口中获取GUID :: Blocks IDE:

#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”中:警告:
  函数的隐式声明
  'GetCurrentHwProfile'
  
  在功能getHWID': undefined reference to GetCurrentHwProfile'中
  
  || ===构建完成:1个错误,1个
  警告=== |


让我知道是否有人遇到此问题或知道如何解决。另外,如果我右键单击HW_PROFILE_INFOGetCurrentHwProfile并单击“查找声明”,则表示未找到。

我想使它起作用,但是我也愿意接受其他简单的方法来完成此任务。

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

最佳答案

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

编辑:我不确定这是否是您需要做的全部,但是在他们的wiki中有一节关于如何使用Microsoft的编译器。

10-04 18:04