Avatar billede borrisholt Novice
30. april 2008 - 12:21 Der er 9 kommentarer og
1 løsning

USB til COM

Hej Eksperter

Jeg har en kortlæser fra Delfi, den fungerer som sådan også godt nok. Nåe jeg kører et magnetkort igennem sender den data på som taste tryk... Det giver mig en del problemer ikke at læse og forstå, men mere når nu der skla intigeres i et program så skal jeg ikke have data som tastetryk ...

Jeg søger derfor noget der kan hjælpe mig af med dette ... Jeg kan forestille mig flere løsninger ...

Det skal lige siges jeg er programmør, så det er mit syn på verden.

1) Nogen viser mig et APi således jeg kan fange de rådata selv på comporten, FØR driveren.

Evt. viser mig hvordan jeg fjerner driveren ... Også læser de rådata selv.

2) Nogen viser mig en driver der leder de rå data fra en Given USB port over i enten en virtual comport eller konveterer de rådata til TCP/Ip kommunikation således jeg kan fange mine data den vej.

3) noget viser mig et stykke hardware man putter i computerens comport, og har et HUN usb stik i den anden ende ...

Jeg har søgt og søgt på nettet .. men uden held.
Jens B
Avatar billede Slettet bruger
30. april 2008 - 13:07 #1
at læse/skrive på en comport kan gøres med API FileOpen, FileRead/write ligesom til en almindelig fil

Afinstaller driveren ved at fjeren den software der installerede den
Avatar billede borrisholt Novice
30. april 2008 - 13:36 #2
jape44>> Der findes mange fine comports componenter det er ikke noget problem... Og ja man bruger FileOpen etc til comport, det har man gjort siden Windows NT 4.0, i modsætning til Windows 9x grenen hvor man brugte assembler komandoerne in/out :D

Det der er mit mål er at hente de rådata direkte fra USB porten enten ved at streame dem over i en virtuel comport eller ved at læse dem selv ...

Diveren er en Windows selv loader ...

Softwaren skal bruges til commersielt brug, så antallet af instalationer taget i betragtning er det ikke en mulighed at fjerne driveren selv i det den vil blive loaded igen næste gang kortlæseren sættes i ..

Jens B
Avatar billede Slettet bruger
30. april 2008 - 14:00 #3
hmm ja det kan godt se.Så kunne du måske bruge et keyboard hook og fange tastetryk og undlade at sende dem videre i event systemet, men mange antivirus er ikke glade for systemlevel hook´s
Avatar billede borrisholt Novice
30. april 2008 - 14:36 #4
Jape44>> Jeg bruger allerede et KeyboardHook til min løsning :) Men det duer bare ikke fordi der kommer jo også andre tastetryk ind i min applikation og man kan ikke spore hvorfra et WM_KEYDOWN message kommer fra.

Jeg SKAL have fat i data direkte.


Jens B
Avatar billede Slettet bruger
30. april 2008 - 15:09 #5
Hvad med at deaktivere den nuværende driver fra din app? http://www.catch22.net/tuts/kernel1.asp se under: "Catch22 Driver Loader"
Jeg fant måske noget interessant her: http://www.thesycon.de/eng/usb_cdcacm.shtml

Endelig kunne du jo skrive din egen driver
Avatar billede borrisholt Novice
09. maj 2008 - 11:41 #6
Hej Jappe

Jeg bliver snart skør i hovedet af denne opgave ... Hver eneste gang jjeg finder noget der ligner en løsnong render jeg ind i en blind gyde ...

Jeg kan finde en masse source code til at tilgå HID.dll men fællesnævneren er bare de ikke virker. end ikke bare lidt. 50% kan end ikke compilere ... De resterende 50% brækker bare ned når jeg forsøøger at læse min usb device ...

Jeg skal bruge en software løsning fordi her er tale om ca 2000 instalationer så det nytter ikke noget at en lev. skal have 50 eller 80 dollar per styk ....

Jens B
Avatar billede Slettet bruger
09. maj 2008 - 11:57 #7
ok, prøv lige at forklare mig det igen, når du sætter kortlæseren i usb stikket, loader windows en driver direkte fra kortlæseren??? som i øvrigt er latterlig konstrueret ved at hooke sig ind på keyboardet således at kortlæseren kan bruges i alle programmer selv notepad??
Er det rigtigt forstået?
Avatar billede Slettet bruger
09. maj 2008 - 12:19 #8
nu er jeg ikke C programmør, men denne kode ser interesant ud, prøv lige aikke her: http://www.codeproject.com/KB/system/tdriver.aspx
Avatar billede borrisholt Novice
09. maj 2008 - 13:25 #9
Når jeg sætter kortlæseren i usb stikket loadet Windows automatisk HDI driveren som afleveret data på keybord porten. Det er hele problemet ...Jeg ønsker selv håndtere data, jeg ønsker ikke dem på keyboard porten, dat det giver mig masive problemer.

Jens B
Avatar billede borrisholt Novice
02. oktober 2008 - 11:36 #10
Lukkes grundet almen optydning .. Spørgsmålet har stadig interesse ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Politiets Efterretningstjeneste

AI/ML udvikler i PET

Capgemini Danmark A/S

Open Application (Denmark)

Erhvervshus Hovedstaden S/I

Erfaren IT- og AI-specialist

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Kryptokustode til opbygning af Forsvarets nye IT-platform