1

关于我创建的 DLL,我有一个小问题。我已经让一两个人测试了我的 DLL,尽管我的结果不如预期,因为我自己无法测试所有功能。

DLL 代码: http: //pastebin.com/H9uNbPU1

我首先要指出的是,双重转换都是有意的。我已经在几个地方发布了这个问题,但无济于事,所有这些地方我都被问及双值。

代码本身并不长,虽然我在 C++ 方面的经验很少,所以我不确定我哪里出错了。

DLL 中当前已知的问题:dwZpos 和 dwVpos 返回 0(根据我的代码)。我以为这些是操纵杆上的按钮)例如 Playstation 3 控制器上的 L3)。尽管如果按下该按钮,它们只会返回 0。

dwUpos 有效,如果控制器有双操纵杆,我认为这是控制器上右操纵杆的 x 轴。正确的?然而 dwVpos(我认为是 y 轴)无论如何都会返回 -1。有没有可能我的R、U、V都错了?应该是:R(Y 轴)、U(X 轴)和 V(Z 轴)?

我真的很想尽快启动并运行它。到目前为止,这是我所有的问题。感谢您的阅读!

4

1 回答 1

1

这不是您问题的解决方案,但我建议切换执行 DirectInput。

来自 MSDN:

多媒体操纵杆 API 已被 DirectInput 取代,后者为当今的输入和强制反馈设备提供了更多功能。有关详细信息,请参阅 DirectX 文档。

就我个人而言,我也遇到过问题,包括 15 年前,当时操纵杆的种类还没有现在那么大。

于 2013-10-15T19:46:38.317 回答