JoyGetPosEx

Aus API-Wiki
Wechseln zu: Navigation, Suche


Diese Funktion fragt die Position eines Joysticks ab und gibt diese zurück. Es können außerdem weitere Werte abgefragt werden.

<<syntaxhighlight lang="vb">>Declare Function joyGetPosEx Lib "winmm.dll" ( _

                             ByVal uJoyID As Long, _
                             ByRef pji As JOYINFOEX) As Long</<syntaxhighlight lang="vb">>

Parameter

uJoyID [Übergabe]

Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich:

<<syntaxhighlight lang="vb">>Const JOYSTICKID1 = 0 Const JOYSTICKID2 = 1</<syntaxhighlight lang="vb">>

Auf neueren Systemen sind Werte zwischen

<<syntaxhighlight lang="vb">>Const JOYSTICKID1 = 0</<syntaxhighlight lang="vb">>

und

<<syntaxhighlight lang="vb">>Const JOYSTICKID16 = 15</<syntaxhighlight lang="vb">>

möglich.

pji [Übergabe]

Ein Zeiger auf eine JOYINFOEX-Struktur, die die ermittelten Werte erhält.

Rückgabewert(e)

Die joyGetPosEx-Funktion gibt JOYERR_NOERROR = 0 zurück, wenn der Aufruf erfolgreich war. Mögliche andere Rückgabewerte sind:

<<syntaxhighlight lang="vb">>Const MMSYSERR_BASE = 0 Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2) Const MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6) Const MMSYSERR_INVALPARAM = (MMSYSERR_BASE + 11) Const JOYERR_BASE = 160 Const JOYERR_PARMS = (JOYERR_BASE + 5) Const JOYERR_UNPLUGGED = (JOYERR_BASE + 7)</<syntaxhighlight lang="vb">>

Sonstige Hinweise

Die Werte dwFlags und dwSize der JOYINFOEX-Struktur müssen zugewiesen werden, ansonsten wird joyGetPosEx versagen.
Die joyGetPosEx-Funktion lohnt nur für Joysticks mit mehr als drei Achsen und/oder mehr als vier Knöpfen. Wenn Informationen über 3 Achsen und 4 Knöpfe hinreichend sind, empfiehlt sich die joyGetPos-Funktion.

Beispiel

<<syntaxhighlight lang="vb">>Dim JIE As JOYINFOEX

JIE.dwSize = Len(JIE) JIE.dwFlags = JOY_RETURNALL

ret = joyGetPOS(JOYSTICKID1, JIE)

If ret <> JOYERR_NOERROR Then

  ' Fehler beim Aufruf

End If</<syntaxhighlight lang="vb">>

Der Wert für JOY_RETURNALL ist bei JOYINFOEX unter dwFlags zu finden.

Verwandte Funktionen

  • joyConfigChanged - Weist den Joystick-Treiber an, geänderte Informationen zu aktualisieren
  • joyGetDevCaps - Fragt Informationen über den Joystick ab
  • joyGetNumDevs - Gibt die Anzahl unterstützter Joysticks zurück
  • joyGetPos - Fragt die Positionsdaten eines Joysticks ab
  • joyGetPosEx - Fragt die Positionsdaten eines Joysticks ab
  • joyGetThreshold - Gibt die Bewegunsschwelle zurück, ab der Nachrichten an Fenster geschickt werden, die ein Capture auf den Joystick haben
  • joyReleaseCapture - Gibt ein Capture auf einen Joystick wieder frei
  • joySetCapture - Setzt ein Capture auf einen Joystick, sodass Informationen per Fenster-Nachricht empfangen werden
  • joySetThreshold - Setzt die Bewegungsschelle eines Joysticks, ab der Nachrichten an Fenster geschickt werden, die ein Capture auf den Joystick haben

Verweise

MSDN Library - joyGetPosEx

Quellen

MSDN Library - joyGetPosEx
freepascal.org - Reference for unit 'mmsystem': Constants