Français
Forum

USB auslesen ...

 
- 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.
 
04.05.2019  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »


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".
 
06.05.2019  
 




Paul
Glatz
Salut,

pour HID Geräte habe je bisher (außerhalb de XProfan) HIDAPI  [...]  verwendet.

qui de Windows bereitgestellten HID APIs prohiber cependant den Zugriff sur HID-Tastaturen et Mäuse.

Pour qui Verwendung de HIDAPI dans XProfan habe je la fois un kleines Beispielprogramm angehangen.

Herunterladen

Pour den Zugriff sur HID-Tastaturen et Mäuse ou bien autre (pas HID) USB Geräte est un separater Treiber notwendig.
libusb  [...]  contient une Treiber avec dem on aus einem eigenen Programme kompletten Zugriff sur un USB-Gerät erhält.

8 kB
Hochgeladen:04.05.2019
Downloadcounter115
Herunterladen
 
04.05.2019  
 




Erasmus.Herold
cela hört sich déjà einmal prima à. Werde je kurzfristig testen.

Bedeutet alors.
1. je muss den zuletzt genannten zusätzlichen Treiber installer?
2. qui HIDAPI downloaden et bereitstellen?
3. cela kleine Demoprogramm testen?

Salut et DANKE
Erasmus
 
04.05.2019  
 




Paul
Glatz
Pour HIDAPI braucht on keinen Treiber et qui hidapi.dll habe je dans qui zip avec bereitgestellt.

Den Treiber braucht on pour libusb. avec libusb muss on sich à komplette USB communication selbst kümmern. en supplément habe je ne...aucune Demoprogramm. peut-être versuche je demain la fois une trop erstellen.
 
04.05.2019  
 




Erasmus.Herold
allô Paul.

un erster Test sieht déjà la fois gar pas so mal aus. Anbei un Screenshot.
je erkenne mon 6 USB Anschlüsse. en supplément un Hinweis sur angeschlossene clavier et souris de Logitech.

Aus qui Ferne fehlt mir aujourd'hui am dimanche qui pouvoir, une Barcode-Scanner et / ou bien une RFID-Reader à USB anzuschließen.

suis gespannt, si je ensuite une direkten Zugriff puis bekomme et z.B. une gescannte EAN direct dans une variable abgreifen peux.

 
05.05.2019  
 




H.Brill
qui Barcode Reader wird chez mir aussi erkannt.

Wobei je déjà im Internet Beispiele dans C / Delphi usw.
gesehen habe, qui sans libusb den Scanner erkennen
bzw. auslesen peut.

cela allez aussi sur API et wm_input et entsprechenden
Strukturen. d'abord doit ensuite un Gerät avec RegisterRawInputDevices
angemeldet volonté. là venons seulement Standardkonstanten avant, qui dans qui
MSDN beschrieben sommes.

Es wird arrêt schwierig, là XProfan seulement qui wichtigsten Standard-Messages
durchläßt. Somit doit on wahrscheinlich qui Messageverwaltung débrancher
et GetMessage travailler, quoi mais chez einer grafischen Benutzer-
surface (GUI) très hinderlich ist.

chez Rolands Beispiel avec GetMessage (Messageverwaltung selbst prendre)
bekomme je z.B. beim Einlesen eines Barcodes ins Éditer qui Message 257.

alors wird là déjà une Message envoyé.

on pourrait aussi une erweiterten clavier - Hook écrivons, qui bestimmte
Tastenkürzel abfängt. en supplément doit on ensuite wiederum den Scanner so
konfigurieren, qui Anfang et Ende des Barcodes avec einem de qui clavier
unerreichbaren virt. Tastencode gekennzeichnet wird. mais besser wäre es, alles sans Modifier le champ de et im Hintergrund trop faire.
 
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.
05.05.2019  
 




Paul
Glatz
je suis chez qui cherche pour einer Possibilité une Barcode Scanner auszulesen aussi déjà sur RegisterRawInputDevices gestoßen.

cependant habe je sur RawInput aucun Possibilité trouvé afin de verhinden, dass qui Eingaben des Scanners zusätzlich le RawInput Messages comme normale Tastatureingaben gesendet volonté.

Somit wird z. B. si grad un Modifier le champ de den Concentrer hat qui Barcode zusätzlich là eingegeben ou bien si un Button ausgewählt ist wird cette par den Barcodescanner ausgelöst (si qui Scanner am Ende des Barcodes Enter "drückt").
 
05.05.2019  
 




H.Brill
Na cela wäre oui déjà quoi.
qui Editfelder pourrait on oui aussi avec $00CF
sur Read only mettons, si qui Barcode eintrifft
et pour dem Lesen wieder zurücksetzen.
ou bien brauchst du absolument cela ENTER im Barcode ?
 
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.
05.05.2019  
 




Erasmus.Herold
merci pour qui idées et Ansätze.
Gleichwohl vom einfachen (luxuriösen) Erfassen á la COM ist es doch large entfernt.
Salut Erasmus
 
05.05.2019  
 




H.Brill
quoi pour une Scanner la hâte du car ?
peux on den pas ajuster sur COM
Emulation ?
 
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.
05.05.2019  
 




Erasmus.Herold
oui c'est ca c'est mon Ansatz.
une Solution dans XProfan pour reine USB Geräte pour trouver.
Via COM ist nie un Problem.
 
05.05.2019  
 




Paul
Glatz
Habe nochmal avec RawInput rumprobiert et une Possibilité trouvé à Eingaben des Scanners abzufangen.

cela Programme mets si une Eingabe vom Scanner erkannt wird den Concentrer dans un verstecktes Éditer et si un Enter vom Scanner venez wird qui Concentrer sur cela ursprüngliche Contrôle zurück gesetzt et qui Barcode peux aus dem verstecken Éditer gelesen volonté.

Habe justement aucun Barcodescanner zum Testen là et konnte es daher seulement avec einer zweiten clavier testen.
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"
Titre de la fenêtre "RawInput"
Fenêtre 1000, 600
SubClass %HWnd, 1
Déclarer hScanner&, CodeStatus%, CodeFocus&
DrawText 5, 5, "Scanner:"
Var hDev& = Créer("ChoiceBox", %hwnd, 1, 5, 25, Width(%hwnd) - 10, 300)
AddDevices hDev&
Créer("Button", %hwnd, "Testbutton", 5, 60, 200, 25)
Créer("Edit", %hwnd, "Testedit", 5, 90, 200, 25)
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)
// 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

// Hauptschleife

Tandis que 1

    WaitInput

    Si Clicked(hDev&)

        hScanner& = Val($ Substr(GetText $(hDev&), 2, "|"))

    ElseIf %MenuItem = 1234

        SetText hLog&, GetText $(hLog&) + "Barcode gelesen: " + GetText $(hCode&) + "\n"

    EndIf

Endwhile

Proc AddDevices

    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)

    WhileLoop numDevices&

        Si Long(devices#, (&Boucle * 8) + 4) = 1/* RIM_TYPEKEYBOARD */

            hDevice& = Long(devices#, &Boucle * 8)
            AddStrings(hList&, GetDeviceName(hDevice&) + "|" + Str$(hDevice&))

        EndIf

    Endwhile

ENDPROC

Proc GetDeviceName

    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 */
    Retour String$(buf#, 0)

ENDPROC

SubClassProc

    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& = hScanner&) AND ((raw#.flags% & 1  = 0)/* RI_KEY_BREAK */

                Si non GetFocus(hCode&)

                    CodeFocus& = %GetFocus
                    SetFocus(hCode&)
                    SetText hCode&, »

                EndIf

                Si raw#.VKey% = 13// scancode 13 = Enter

                    SetFocus(CodeFocus&)
                    CodeFocus& = 0
                    SetMenuItem 1234

                EndIf

            EndIf

        EndIf

    EndIf

ENDPROC

 
05.05.2019  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

20.870 Views

Untitledvor 0 min.
Member 862464120.05.2024
Sven Bader03.07.2023
H.Brill14.05.2023
Normann Strübli30.01.2023
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie