获取驱动程序功能

[与此页面关联的功能 游戏杆是一项旧功能。 它已被 Windows.Gaming.Input 命名空间取代。 Windows.Gaming.Input 命名空间已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 Windows.Gaming.Input 命名空间 而不是 游戏杆。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

以下示例使用 joyGetNumDevsjoyGetPos 来确定游戏杆服务是否可用,以及游戏杆是否连接到其中一个端口。

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;