首页 > 解决方案 > 如何轻松检查操纵杆是否插入(通过 C++)

问题描述

我需要编写一个只返回布尔答案的简单函数。

如果计算机中插入了操纵杆 - 真,否则 - 假。我怎样才能做到这一点?

我试图编写这段代码,但我只得到了通过 USB 插入我的计算机的设备数量,我需要知道这个 USB 是操纵杆。

UINT pNum = 0;
RAWINPUTDEVICELIST* arr = new RAWINPUTDEVICELIST;
PRAWINPUTDEVICELIST pRawInputDeviceList = arr;
GetRawInputDeviceList(pRawInputDeviceList, &pNum, sizeof(RAWINPUTDEVICELIST));
std::cout << "Num entered: " << pNum << std::endl;

标签: c++winapiinputjoystickdirectinput

解决方案


使用该joyGetPos功能确定给定的操纵杆是否物理连接到系统。如果指定的操纵杆没有连接,joyGetPos 返回一个 JOYERR_UNPLUGGED 错误值。

joyGetNumDevs函数返回当前驱动程序支持的操纵杆数量,如果没有安装驱动程序,则返回零。


推荐阅读