| |
|
|
- page 1 - |
|
Erasmus.Herold | allô liebe Community.
voudrais es avec diesem Thema encore einmal entier anders versuchen, trop Aider trop venons. qui COM Schnittstelle am PC auszulesen ist avec XProfan simpel.
comment sieht es aus avec qui USB Schnittstelle? Hat quelqu'un sich daran versucht et hat Codeschnipsel pour mich?
s'il te plaît aucun Diskussion um Treiber, Windowshoheiten ou bien USB2COM Adapter, mais trop diesem Fil s'il te plaît seulement den Austausch, si quelqu'un avec XProfan USB direct auslesen peux.
merci euch. |
|
|
| |
|
|
|
« cette Beitrag wurde comme Solution gekennzeichnet. » |
|
- page 3 - |
|
Paul Glatz | qui "1995378067" dans hScanner& est un Handle sur cela Gerät et wird sich entre Programme- ou bien Computerneustarts changement. qui Gerätename (\\?\HID#VID_????&PID_????...) sollte konstant rester.
Mir ist aucun Possibilité bekannt la valeur anzuzeigen. mais qui VID/PID sieht on aussi im Geräte-Manager sous "Hardware-IDs". |
|
|
| |
|
|
|
|
| |
|
- page 2 - |
|
Paul Glatz | Hatte J'ai oublié. Habe den Télécharger maintenant hinzugefügt. |
|
|
| |
|
|
|
Erasmus.Herold | Sieht ensuite so aus ...
|
|
|
| |
|
|
| |
|
- page 3 - |
|
|
Erasmus.Herold | Hinweis:
Derzeit ist es so, égal, si je dessus ne...aucune (!) USB Device auswähle, si je qui clavier wähle, ou bien den USB Scanner ....
... si je sur clavier une Eingabe fais, erscheint qui ASCII Code sans dass qui Cursor blinken muss.
qui Erfassung ist alors bien (weil blind), mais es wird encore pas sur un festes USB Device fixiert.
Salut et Dank |
|
|
| |
|
|
|
Paul Glatz | qui RawInput Meldungen habe je avant dem Filtern ausgegeben.
ici nochmal une neue Version, qui chez meinen Tests zuverlässiger sur den Scanner reagiert.
Herunterladen
ici encore un Video, comme marcher soll: Herunterladen
qui neue Version zeigt RawInput Meldungen seulement encore pour cela gewählte Gerät. |
|
|
| |
|
|
|
Erasmus.Herold | avec Video? entier großes cinéma!!!
mon Ergebnis: je wähle eh bien meinen USB Scanner. fais une Eingabe. Pour dem "Enter" des Scanners venons qui données. Zuletzt qui gesamte String.
cela sieht déjà la fois très bien aus. comme nächstes teste je cela la fois avec einem USB (HID) RFID-Reader.
prochain Rückmeldung folgt. |
|
|
| |
|
|
|
Erasmus.Herold | ... et wieder une Schritt plus.
mon Video avec ausgelesenen RFID Tags findest du ici: [...] |
|
|
| |
|
|
|
Erasmus.Herold | je bastle à deinem Code rum et minimiere mir la fois, quoi il me faut. cela Ergebnis gibt es ensuite später zurück.
hScanner& nimmt chez mir pour den angeschlossenen USB Scanner den Wert 1995378067 à. par-dessus peux je cela Gerät fix auslesen.
peux je diesem Wert aussi indépendant de XProfan pour qui Zuweisung sous Windows trouver ou bien erkennen?
but wäre une feste Vorgabe des USB Ports et pas qui sélection aller |
|
|
| |
|
|
|
Paul Glatz | qui "1995378067" dans hScanner& est un Handle sur cela Gerät et wird sich entre Programme- ou bien Computerneustarts changement. qui Gerätename (\\?\HID#VID_????&PID_????...) sollte konstant rester.
Mir ist aucun Possibilité bekannt la valeur anzuzeigen. mais qui VID/PID sieht on aussi im Geräte-Manager sous "Hardware-IDs". |
|
|
| |
|
|
|
H.Brill | wow, sieht oui déjà la fois bien aus. peut-être la fois dans qui Registry Ausschau tenir : [...] |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 06.05.2019 ▲ |
|
|
|
|
Erasmus.Herold | Prima.
1. ensuite werde Je l' Scanner demain la fois sur seinen fest definierten Gerätenamen saisir ...
2. ... et qui EANs dans einer Listbox ramasser.
mon Rückmeldung wird folgen.
merci Euch. |
|
|
| |
|
|
|
Erasmus.Herold | Anbei eh bien la fois mon angepasster Test-Quellcode avec fest vorgegebenem USB Anschluss. cela Lecture via Barcode-Scanner et RFID Reader (siehe Video plus dessus) funktioniert super.
dans qui prochain Stufe folgt eh bien qui Implementierung ins "RFID Management Studio". Weitere Rückmeldung wird folgen. merci !!!
Titre de la fenêtre "RawInput"
Fenêtre 1000, 600
SubClass %HWnd, 1
'=======================================================================================================================================================
'=== VARIABLEN DEKLARIEREN =============================================================================================================================
'=======================================================================================================================================================
Struct RAWINPUTDEVICE = usUsagePage%, usUsage%, dwFlags&, hwndTarget&
Struct RAWINPUTKEYBOARD = dwType&, dwSize&, hDevice&, wParam&, MakeCode%, Flags%, Reserved%, VKey%, Message&, ExtraInformation&
Def RegisterRawInputDevices(3) !"User32", "RegisterRawInputDevices"
Def GetRawInputData(5) !"User32", "GetRawInputData"
Def GetRawInputDeviceList(3) !"User32", "GetRawInputDeviceList"
Def GetRawInputDeviceInfoA(4) !"User32", "GetRawInputDeviceInfoA"
Déclarer hScanner&, CodeStatus%, CodeFocus&, hDev&
Déclarer HID_Geraet_Nr&, HID_Geraet_temporaere_ID&, counter&
// RawInput registrieren
Déclarer rid#
Faible rid#, RAWINPUTDEVICE
rid#.usUsagePage% = 1// RegisterRawInputDevices
rid#.usUsage% = 6// Keyboard
rid#.dwFlags& = 0// $30 /* RIDEV_NOLEGACY */
rid#.hwndTarget& = %hwnd
Si non RegisterRawInputDevices(rid#, 1, SizeOf(rid#))
MessageBox("RawInput konnte pas registriert volonté " + Hex$(%WinError), », 0)
EndIf
HID_Geraet_Nr& = 1
'=======================================================================================================================================================
'=== PROCEDUREN ANLEGEN ================================================================================================================================
'=======================================================================================================================================================
Proc AddDevices_USB
Paramètres hList&
Déclarer numDevices&, devices#, hDevice&
GetRawInputDeviceList(0, Addr(numDevices&), 8)
Si numDevices& = 0
Retour
EndIf
Faible devices#, numDevices& * 8
GetRawInputDeviceList(devices#, Addr(numDevices&), 8)
counter& = 1
WhileLoop 0,numDevices& - 1
Si Long(devices#, (&Boucle * 8) + 4) = 1/* RIM_TYPEKEYBOARD */
hDevice& = Long(devices#, &Boucle * 8)
AddStrings(hList&, GetDeviceName_USB(hDevice&) + "|" + Str$(hDevice&))
// ALLE USB-PORTS ANZEIGEN
imprimer "benutzte USB-Ports: ", GetDeviceName_USB(hDevice&) + "|" + Str$(hDevice&)
si (counter& = HID_Geraet_Nr&)
HID_Geraet_temporaere_ID& = hDevice&
endif
counter& = counter& + 1
EndIf
// ALLE USB-PORTS ANZEIGEN
'imprimer "alle USB-Ports: ", GetDeviceName_USB(hDevice&)
Endwhile
// GEWÄLTE TEMPORÄRE HID ID ANZEIGEN
imprimer : imprimer "benutzt wird cet temporäre HID ID [" + str$(HID_Geraet_Nr&) + "]: " + str$(HID_Geraet_temporaere_ID&)
ENDPROC
Proc GetDeviceName_USB
Paramètres hdev&
Déclarer buf#, len&
GetRawInputDeviceInfoA(hdev&, $20000007 0, Addr(len&))/* RIDI_DEVICENAME */
Si len& = 0
Retour »
EndIf
Faible buf#, len&
GetRawInputDeviceInfoA(hdev&, $20000007 buf#, Addr(len&))/* RIDI_DEVICENAME */
'imprimer "hdev: ", hdev&
'imprimer "Add: ", GetDeviceName_USB(hDevice&)
Retour String$(buf#, 0)
ENDPROC
SubClassProc
// qui Procédure, trop qui beim Subclassing alle Messages umgeleitet volonté,
// pour en la fenêtre bzw, Dialogelement cela Subclassing eingeschaltet ist.
Si SubClassMessage(%hWnd, $00ff/* WM_INPUT */
Déclarer raw#
Faible raw#, RAWINPUTKEYBOARD
Var size& = SizeOf(raw#)
Si non GetRawInputData(&sLParam, $10000003 raw#, addr(size&), 16) == -1/* RID_INPUT */
Si (raw#.hDevice& = HID_Geraet_temporaere_ID&) AND ((raw#.flags% & 1 = 0)/* RI_KEY_BREAK */
'SetText hLog&, GetText$(hLog&) + "RawInput: Gerät: " + Str$(raw#.hDevice&) + " bouton: " + Str$(raw#.VKey%) + " Flags: " + Str$(raw#.flags%) + "\n"
Si non GetFocus(hCode&)
CodeFocus& = %GetFocus
SetFocus(hCode&)
SetText hCode&, »
EndIf
Si (raw#.VKey% = 13) OU (raw#.VKey% = 9)// scancode 13 = Enter 9 = Tab
SetMenuItem 1234
EndIf
EndIf
EndIf
EndIf
ENDPROC
'=======================================================================================================================================================
'=== HAUPTPROGRAMM =====================================================================================================================================
'=======================================================================================================================================================
'hDev& = Créer("ChoiceBox", %hwnd, 1, 5, 25, Width(%hwnd) - 10, 300)
// USB DEVICES ERMITTELN
AddDevices_USB hDev&
Var hCode& = Créer("Edit", %hwnd, », 2000, 2000, 0, 0)// Verstecktes Textfeld pour Barcodeeingabe
Var hLog& = Créer("MultiEdit", %hwnd, », 5, 120, Width(%hwnd) - 10, Height(%hwnd) - 125)
// Hauptschleife
Tandis que 1
WaitInput
Si Clicked(hDev&)
hScanner& = Val($ Substr(GetText $(hDev&), 2, "|"))
ElseIf %MenuItem = 1234
SetFocus(CodeFocus&)
CodeFocus& = 0
SetText hLog&, GetText $(hLog&) + "Barcode gelesen: " + GetText $(hCode&) + "\n"
EndIf
Endwhile
|
|
|
| |
|
|
|
Erasmus.Herold | Update:
dans Anlehnung à Pauls idées ist eh bien un USB_Port_Viewer entstanden.
cet Programme erkennt alle vorhandenen USB Ports dans einem System, zeigt qui benutzten Ports à et liefert qui benötigte temporäre ID zum Lecture im Hintergrund.
Anbei cela Programme velours Quellcode.
|
|
|
| |
|
|