共用方式為


處理遊戲桿訊息

[與此頁面相關聯的功能 Joysticks是舊版功能。 Windows.Gaming.Input 命名空間已取代它。 Windows.Gaming.Input 命名空間 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 Windows.Gaming.Input 命名空間,而不是 Joysticks。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

下列範例說明應用程式如何回應遊戲桿的移動以及按鈕狀態的變化。 當搖桿變更位置時,應用程式會移動游標,而如果按下其中一個按鈕,就會在桌面上繪製彈孔。 按下遊戲桿按鈕時,應用程式會在桌面上繪製一個洞,並持續播放音效,直到按鈕放開為止。 要監看的訊息是 MM_JOY1MOVEMM_JOY1BUTTONDOWNMM_JOY1BUTTONUP

case MM_JOY1MOVE :                     // changed position 
    if((UINT) wParam & (JOY_BUTTON1 | JOY_BUTTON2)) 
        DrawFire(hWnd); 
    DrawSight(lParam);                 // calculates new cursor position 
    break; 
case MM_JOY1BUTTONDOWN :               // button is down 
    if((UINT) wParam & JOY_BUTTON1) 
    { 
        PlaySound(lpButton1, SND_LOOP | SND_ASYNC | SND_MEMORY); 
        DrawFire(hWnd); 
    } 
    else if((UINT) wParam & JOY_BUTTON2) 
    { 
        PlaySound(lpButton2, SND_ASYNC | SND_MEMORY |  SND_LOOP); 
        DrawFire(hWnd); 
    } 
    break; 
case MM_JOY1BUTTONUP :                 // button is up 
    sndPlaySound(NULL, 0);             // stops the sound 
    break;