Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
[La funzionalità associata a questa pagina, joystick, è una funzionalità legacy. È stato sostituito da spazio dei nomi Windows.Gaming.Input. Il namespace Windows.Gaming.Input è stato ottimizzato per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice utilizzi il namespace Windows.Gaming.Input anziché i joystick, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Nell'esempio seguente viene illustrato come un'applicazione potrebbe rispondere ai movimenti del joystick e alle modifiche negli stati del pulsante. Quando il joystick cambia posizione, l'applicazione sposta il cursore e, se si preme uno dei due pulsanti, disegna un foro puntato sul desktop. Quando si preme un pulsante del joystick, l'applicazione disegna un foro sul desktop e riproduce un suono continuamente fino a quando non viene rilasciato un pulsante. I messaggi da controllare sono MM_JOY1MOVE, MM_JOY1BUTTONDOWNe MM_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;