如何解决切换操纵杆USB端口时,无法使用joyGetPosEx
| 我正在使用\“ joyGetPosEx \”函数检测操纵杆输入:JOYINFOEX joyInfoEx;
ZeroMemory(&joyInfoEx,sizeof(joyInfoEx));
joyInfoEx.dwSize = sizeof(joyInfoEx);
// poll for values
joyGetPosEx(JOYSTICKID1,&joyInfoEx);
连接操纵杆后,一切正常,该函数返回\“ JOYERR_NOERROR \”。
但是,如果在程序运行期间断开游戏杆并将其连接到其他USB端口,
\“ joyGetPosEx(JOYSTICKID1,&joyInfoEx); \”继续返回\“ JOYERR_UNPLUGGED \”值。
如果我将设备重新连接到初始的USB端口,则表明设备再次正常工作。
即使有人将操纵杆连接到新端口,是否有人知道如何使操纵杆正常工作?
提前致谢!
解决方法
我会说您有一个没有序列号的USB设备,因此Windows会通过插入的位置来识别它。
最终我们发现
joyConfigChanged
功能能够重新连接操纵杆。 [MSDN表示,使用此功能需要#include <dinput.h>
,事实证明,包含的顺序很重要:先mmsystem.h
,然后then5ѭ。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。