介绍游戏杆的编程
消息:
使用joySetCapture函数,使指定的窗口接受游戏杆的消息。
JoySetCapture定义:
MMRESULT joySetCapture(HWND hwnd, UINT uJoyID, UINT uPeriod,BOOL fChanged);
[1] hwnd -----父窗口句柄。
[2] uJoyID ----指定游戏杆,它可以是JOYSTICKID1或JOYSTICKID2,即第一、第二个游戏杆。
[3] uPeriod ----每隔给定的轮询间隔就给应用程序发送有关游戏杆的信息。这个参数是以毫秒为单位的轮询间隔时间。
[4] fChanged ----改变位置标识,可设为false。
返回值:
/* joystick error return values */
#define JOYERR_NOERROR (0) /* no error */
#define JOYERR_PARMS (JOYERR_BASE+5) /* bad parameters */
#define JOYERR_NOCANDO (JOYERR_BASE+6) /*request not completed */
#define JOYERR_UNPLUGGED (JOYERR_BASE+7) /*joystick is unplugged */
然后就可以通过接受游戏杆消息来响应游戏杆了。
游戏杆消息:
#define MM_JOY1MOVE 0x3A0 /* joystick */
#define MM_JOY2MOVE 0x3A1
#define MM_JOY1ZMOVE 0x3A2
#define MM_JOY2ZMOVE 0x3A3
#define MM_JOY1BUTTONDOWN 0x3B5