此功能的首次试用使用:

  • ENV:Win10-64中的C / C++和MinGW32的Eclipse IDE。
  • 参考:GetRawInputDeviceList function at Microsoft

  • 我的世界代码很简单:
    #include <iostream>
    #include <windows.h>
    #include <winuser.h>
    using namespace std;
    
    int main() {
         cout << "USB Device Lister." << endl;
         UINT nDevices = 0;
         PRAWINPUTDEVICELIST pRawInputDeviceList;
    
         nHID = GetRawInputDeviceList(NULL, &nDevices, sizeof(RAWINPUTDEVICELIST));
         cout << "found HID devices of "<< nHID << endl;
         return 0;
    }
    
    根据Function definition,我包括了.h,但仍然出现错误:
    error: 'PRAWINPUTDEVICELIST' was not declared in this scope
    Function 'GetRawInputDeviceList' could not be resolved
    
    Some说它可能需要#define _WIN32_WINNT 0x0501或mingw-x64,但不能解决我的问题。

    最佳答案

    也尝试定义WINVER。
    所以您应该在#include <windows.h>之前添加它

    #define WINVER 0x0501
    #define _WIN32_WINNT 0x0501
    

    请查看本文以获取更多信息:Modifying WINVER and _WIN32_WINNT

    PS。您不必包括winuser.h,因为Windows.h已包含它。

    关于c++ - 函数 'GetRawInputDeviceList'无法解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53366134/

    10-11 23:19