Hallo zusammen,
ich habe ein Problem, den Status eines HID USB-Device zurückzulesen.
Bei dem USB-Device handelt es sich um einen USB-Button der Fa. USBBUTTON(?).
Es ist keine Dokumentation vorhanden, die Feinheiten habe ich mir aus deren SDK herausgelesen.
Ich kann bereits das Device initialisieren und auch die LED-Farben ändern.
Leider wird zur Abfrage des Tastenstatus (gedrückt, nicht gedrückt) der Status als Pointer in den Parametern übergeben.
In der PacDrive.h steht:
PACDRIVE_API BOOL __stdcall USBButtonGetState(INT id, PBOOL state);
Daraus habe ich nach Recherche im Internet und hier im Forum folgendes gemacht:
$result=""
$struct=DllStructCreate("BOOLEAN")
$myState=DllStructGetPtr($struct)
$myID=DllCall("pacdrive32.dll","int","PacInitialize")
If $myID[0]>0 Then
$result=DllCall("pacdrive32.dll","BOOLEAN","USBButtonGetState","int",$myID,"ptr",$myState)
MsgBox(0,"",$mystate&" "&DllStructGetData($struct,1))
EndIf
In der Messagebox bekomme ich die Adresse der Variablen $mystate angezeigt. Das Ziel, auf das $mystate zeigt,
ist jedoch immer 0, egal, ob ich die Taste drücke oder nicht.
Was mache ich falsch?
Vielen Dank im Voraus, Caipitrooper