2

有人可以告诉我是否有办法捕获额外的操纵杆按钮?我的意思是按钮编号 5、6、7、8 等等。

我使用此代码来捕获按钮按下事件:

procedure MMJOY1BUTTONDOWN (var LocMessage: TMMJoyStick); message MM_JOy1BUTTONDOWN;

但问题是它只捕获了 4 个标准按钮,而不是任何额外的按钮。

非常感谢

4

1 回答 1

6

Multimedia Joystick API 不支持为按钮 5+ 生成窗口消息,您必须使用手动轮询它们的状态joyGetPosEx()。否则,您应该使用DirectX API 中的DirectInput,因为它取代了旧 API。

更新:或者,您可以使用原始输入 API直接从操纵杆硬件接收事件通知。有关更多详细信息,请参见代码项目:

使用原始输入 API 处理操纵杆输入

于 2011-02-28T21:31:16.930 回答