JoyGetPosEx: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
 
Zeile 3: Zeile 3:
 
Diese Funktion fragt die Position eines Joysticks ab und gibt diese zurück. Es können außerdem weitere Werte abgefragt werden.
 
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" ( _
+
<syntaxhighlight lang="vb">Declare Function joyGetPosEx Lib "winmm.dll" ( _
 
                               ByVal uJoyID As Long, _
 
                               ByVal uJoyID As Long, _
                               ByRef pji As JOYINFOEX) As Long</<syntaxhighlight lang="vb">>
+
                               ByRef pji As JOYINFOEX) As Long</syntaxhighlight>
  
 
==Parameter==
 
==Parameter==
Zeile 12: Zeile 12:
  
 
:Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich:
 
:Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich:
<<syntaxhighlight lang="vb">>Const JOYSTICKID1 = 0
+
<syntaxhighlight lang="vb">Const JOYSTICKID1 = 0
Const JOYSTICKID2 = 1</<syntaxhighlight lang="vb">>
+
Const JOYSTICKID2 = 1</syntaxhighlight>
 
:Auf neueren Systemen sind Werte zwischen  
 
:Auf neueren Systemen sind Werte zwischen  
<<syntaxhighlight lang="vb">>Const JOYSTICKID1 = 0</<syntaxhighlight lang="vb">>  
+
<syntaxhighlight lang="vb">Const JOYSTICKID1 = 0</syntaxhighlight>  
 
:und  
 
:und  
<<syntaxhighlight lang="vb">>Const JOYSTICKID16 = 15</<syntaxhighlight lang="vb">>
+
<syntaxhighlight lang="vb">Const JOYSTICKID16 = 15</syntaxhighlight>
 
:möglich.
 
:möglich.
  
Zeile 28: Zeile 28:
 
Die joyGetPosEx-Funktion gibt JOYERR_NOERROR = 0 zurück, wenn der Aufruf erfolgreich war. Mögliche andere Rückgabewerte sind:
 
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
+
<syntaxhighlight lang="vb">Const MMSYSERR_BASE = 0
 
Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2)
 
Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2)
 
Const MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6)
 
Const MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6)
Zeile 34: Zeile 34:
 
Const JOYERR_BASE = 160
 
Const JOYERR_BASE = 160
 
Const JOYERR_PARMS = (JOYERR_BASE + 5)
 
Const JOYERR_PARMS = (JOYERR_BASE + 5)
Const JOYERR_UNPLUGGED = (JOYERR_BASE + 7)</<syntaxhighlight lang="vb">>
+
Const JOYERR_UNPLUGGED = (JOYERR_BASE + 7)</syntaxhighlight>
  
 
==Sonstige Hinweise==
 
==Sonstige Hinweise==
Zeile 43: Zeile 43:
 
==Beispiel==
 
==Beispiel==
  
<<syntaxhighlight lang="vb">>Dim JIE As JOYINFOEX
+
<syntaxhighlight lang="vb">Dim JIE As JOYINFOEX
  
 
JIE.dwSize = Len(JIE)
 
JIE.dwSize = Len(JIE)
Zeile 52: Zeile 52:
 
If ret <> JOYERR_NOERROR Then
 
If ret <> JOYERR_NOERROR Then
 
   ' Fehler beim Aufruf
 
   ' Fehler beim Aufruf
End If</<syntaxhighlight lang="vb">>
+
End If</syntaxhighlight>
  
 
Der Wert für JOY_RETURNALL ist bei [[JOYINFOEX]] unter dwFlags zu finden.
 
Der Wert für JOY_RETURNALL ist bei [[JOYINFOEX]] unter dwFlags zu finden.

Aktuelle Version vom 5. November 2016, 23:47 Uhr


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

Declare Function joyGetPosEx Lib "winmm.dll" ( _
                              ByVal uJoyID As Long, _
                              ByRef pji As JOYINFOEX) As Long

Parameter

uJoyID [Übergabe]

Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich:
Const JOYSTICKID1 = 0
Const JOYSTICKID2 = 1
Auf neueren Systemen sind Werte zwischen
Const JOYSTICKID1 = 0
und
Const JOYSTICKID16 = 15
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:

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)

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

Dim JIE As JOYINFOEX

JIE.dwSize = Len(JIE)
JIE.dwFlags = [[JOYINFOEX|JOY_RETURNALL]]

ret = joyGetPOS(JOYSTICKID1, JIE)

If ret <> JOYERR_NOERROR Then
   ' Fehler beim Aufruf
End If

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