Forum: PC-Programmierung primäre USB-Maus XP/VBA ; Createfile = -1


von Johannes H. (johannes-kuriboh)


Lesenswert?

Hallo,
seit etwa 8 Tagen komme ich nicht weiter. Ich habe hier einige 
interessante Artikel gefunden, leider helfen die mir nicht über mein 
Problem hinweg.
Ich bekomme keinen Handle für meine Maus.
Dem Buch ISBN 3-8266-0698-1 liegt ein Tool bei, welches meine Maus 
erfolgreich anspricht, und Attribute ausliest. (Gehen muss es also)
Ich sitze an einem XP Rechner (SP2), und habe als einziges HID meine 
Maus angeschlossen.

Die angehängte Datei ist eine ExCel Datei.
Die Module API_Test, Errorreport, USB_Suche sind Fehlerfrei.
USB20_CD ist vermutlich Fehlerfrei und enthält alle API Deklarationen, 
die im Modul USB_Gethandle verwendet werden.

Der Fehler steckt in der Zeile:
1
CurrentDeviceHandle = CreateFile(CurrentDevicePathName, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0)
oder knapp davor.

Den Gerätepfad erhalte ich erfolgreich, nach der Weiterverarbeitung 
sieht er so aus:
1
"\\?\hid#vid_046d&pid_c00e#6&30366122&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"""
Ich bin mir nicht sicher ob meine Weiterverarbeitung stimmt:
1
DetailDeviceResult = SetupDiGetDeviceInterfaceDetail(GlobalDeviceInfoSet, CurrentDeviceInterfaceData, VarPtr(DetailBuffer(0)), DetailBufferSize, DetailBufferSize_Probe, 0)
2
CurrentDevicePathName = CStr(DetailBuffer())
3
CurrentDevicePathName = StrConv(CurrentDevicePathName, vbUnicode)
4
CurrentDevicePathName = Right$(CurrentDevicePathName, Len(CurrentDevicePathName) - 4)

Ich komme nicht weiter.
Ich brauche den Handle zu meiner Maus.
Ich freue mich auf eure Hilfe.

Grüße, Johannes

von Johannes H. (johannes-kuriboh)


Angehängte Dateien:

Lesenswert?

Ich bin mir nicht sicher ob das mit dem Upload funktioniert hat, darum 
nachgereicht als .Zip

von Johannes H. (johannes-kuriboh)


Lesenswert?

Ich habe folgende Tabelle gefunden:
http://msdn2.microsoft.com/en-us/library/ms789918.aspx
1
Device Type       U.Page  U.ID  Windows Client  Access Mode
2
Pointer           0x01    0x01  Win32 subsystem Exclusive
3
Mouse             0x01    0x02  Win32 subsystem Exclusive
4
Joystick          0x01    0x04  DirectInput     Shared
5
Game pad          0x01    0x05  DirectInput     Shared
6
Keyboard          0x01    0x06  Win32 subsystem Exclusive
7
Keypad            0x01    0x07  Win32 subsystem Exclusive
8
System Control    0x01    0x80  Win32 subsystem Shared
9
Cons. Aud. Contr. 0x0C    0x01  *               Shared
10
11
U.Page = Usage Page
12
U. ID = Usage ID
13
Cons. Aud. Contr. = Consumer Audio Control
14
* hidserv.exe in Windows 2000 and hidserv.dll (one of the SVC host services) in Microsoft Windows XP

Wie es aussieht hat Win32-subsystem exclusive Zugriffsrechte auf meine 
Maus.
Wie kann ich trotzdem auf meine Maus zugreifen?
Können mir die User Page und User ID Informationen weiterhelfen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.