我正在使用DirectInput和XInput包装输入系统。当前,XInput设备被枚举了两次,一次是XInput,一次是DirectInput(因为它们都支持)。

如何确定给定的DirectInput设备是否还支持XInput?关于这个主题有this MSDN page,但是它需要wbemidl.h和wmsstd.h,而mingw/gcc中没有这些wwmidl.h和wmsstd.h(出于某种原因,我想避免使用msvc-可能是出于习惯)。

我认为将设备名称/指南列入黑名单不是一个好的解决方案,但是有更好的解决方案吗?

谢谢。

最佳答案

wbemidl.h和所有相关 header 都可以从 mingw-w64 项目中获得,不要介意64也支持32位。

Here 是在不包含IsXInputDevice的情况下实现wmsstd.h的示例

10-08 01:23