获取驱动程序功能
[与此页面关联的功能 游戏杆是一项旧功能。 它已被 Windows.Gaming.Input 命名空间取代。 Windows.Gaming.Input 命名空间已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 Windows.Gaming.Input 命名空间 而不是 游戏杆。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
以下示例使用 joyGetNumDevs 和 joyGetPos 来确定游戏杆服务是否可用,以及游戏杆是否连接到其中一个端口。
JOYINFO joyinfo;
UINT wNumDevs, wDeviceID;
BOOL bDev1Attached, bDev2Attached;
if((wNumDevs = joyGetNumDevs()) == 0)
return ERR_NODRIVER;
bDev1Attached = joyGetPos(JOYSTICKID1,&joyinfo) != JOYERR_UNPLUGGED;
bDev2Attached = wNumDevs == 2 && joyGetPos(JOYSTICKID2,&joyinfo) !=
JOYERR_UNPLUGGED;
if(bDev1Attached || bDev2Attached) // decide which joystick to use
wDeviceID = bDev1Attached ? JOYSTICKID1 : JOYSTICKID2;
else
return ERR_NODEVICE;