Moskus Skrevet 18. november 2010 Del Skrevet 18. november 2010 Jeg har en strekkodeleser som kobles til via USB, og installeres som et vanlig USB tastatur. Strekkodeleseren skal ligge i CD-skapet og brukes til å scanne strekkoder bak platene. Når koden blir scannet finner programvaren ut hvilken CD det er snakk om og spiller den som MP3-fil fra disk eller Spotify. Dette fungerer så lenge markøren er satt i tekstboksen sin. Men flyttes den, fungerer det ikke lenger. Derfor ønsker jeg en "global hook" på denne USB HID-dingsen. Jeg har funnet et bibliotek for slikt (her: http://labs.mikeobrien.net/Document.aspx?id=hidlibrary ), og får det sånn noenlunde til å koble til strekkodeleseren. Føles som jeg mangler noe. Det er ingen rutine som kan trigge når USB-dingsen leser noe. Hva har jeg glemt å tenke på? Lenke til kommentar
Wattengård Skrevet 22. november 2010 Del Skrevet 22. november 2010 Strekkodelesere som funker som tastatur kan ofte stilles inn til å sende "enter" på slutten av den leste sekvensen. Med den kan du da trigge på KeyDown og filtrere for enter... -C- Lenke til kommentar
Moskus Skrevet 22. november 2010 Forfatter Del Skrevet 22. november 2010 Joda, har tenkt på det. Men jeg bruker ellers Enter en del på det vanlige tastaturet også... Lenke til kommentar
Wattengård Skrevet 22. november 2010 Del Skrevet 22. november 2010 Jo men du setter jo ikke en global hook på enter... Kun i tekstboksen som skal ta imot strekkoden... En "enter" i denne boksen vil sannsynligvis bety "jeg har skrevet inn strekkoden, finn den" eller noe slikt.. -C- Lenke til kommentar
Moskus Skrevet 22. november 2010 Forfatter Del Skrevet 22. november 2010 Men da må fokus være satt til tekstboksen. Og det er det ingen garantier for at er riktig, det er problemet. Lenke til kommentar
GeirGrusom Skrevet 22. november 2010 Del Skrevet 22. november 2010 Kanskje ikke noe egentlig løsning dette, men sjekk om du ikke kan legge opp UI slik at tekstboksen naturlig har fokus når den skal brukes. Eventuelt har kanskje strekkodeleseren en eller annen dokumentasjon, eller SDK tilgjengelig, ettersom tastatur-oppførselen er en emuleringsdriver. Lenke til kommentar
Wattengård Skrevet 22. november 2010 Del Skrevet 22. november 2010 I de fleste slike applikasjoner jeg har sett _tvinges_ fokus til tekstboksen etter alle handlinger. POS applikasjoner (kassaapparat) funker gjerne på denne måten. Derfor er mange funksjoner der "koder" i tekstfeltet. For eksempel kan kode 11 være en kode for rabatt. Handlingen for operatøren blir derfor: (11 = åpen rabatt i prosent) 11 <enter> 50 <enter> <skann vare> hvorpå fokus går tilbake til tekstfeltet igjen.. Hvilken strekkodeleser har du? Det er mulig du kan sette den til å sende en bestemt kode i forkant av lest strekkode også. -C- Lenke til kommentar
Moskus Skrevet 22. november 2010 Forfatter Del Skrevet 22. november 2010 Hvilken strekkodeleser har du? Det er mulig du kan sette den til å sende en bestemt kode i forkant av lest strekkode også. Det har jeg ikke tenkt på! Mulig, mulig... Jeg har denne scanneren. Lenke til kommentar
Wattengård Skrevet 22. november 2010 Del Skrevet 22. november 2010 Iflg det jeg leser fra kommentarene på DX så skal det være med et dokument med konfigurasjonskoder. Og noen av disse skal la deg sende en bestemt kode før scanningen.. -C- Lenke til kommentar
Moskus Skrevet 22. november 2010 Forfatter Del Skrevet 22. november 2010 Det var en innstilling for å pakke koden inn i A'er. Istedenfor 1155 blir koden A1155A (med CrLf på slutten). Det må det være mulig å filtrere på! Lenke til kommentar
Wattengård Skrevet 22. november 2010 Del Skrevet 22. november 2010 Mnja... Problemet ditt er vel å hooke en eller annen "hotkey" som skal bety "nå kommer det data fra strekkodeleseren". Og å globalhooke 'A' er vel litt drastisk Jeg heller fortsatt mot å tvinge fokus til tekstboksen, og foreta evt andre ting i modale vinduer eller noe sånt. Evt tvinge bruker til å trykke f.eks. F12 før vedkommende scanner noe.. -C- Lenke til kommentar
Moskus Skrevet 22. november 2010 Forfatter Del Skrevet 22. november 2010 Programmet skal kjøre i en virtuell maskin på hjemmeserveren, så jeg anser det ikke som et veldig stort problem... Tastaturbruken er relativt minimal, men det har vist seg vanskeligere enn antatt å "garantere" at den aktuelle tekstboksen har fokus. Lenke til kommentar
GeirGrusom Skrevet 22. november 2010 Del Skrevet 22. november 2010 Mnja... Problemet ditt er vel å hooke en eller annen "hotkey" som skal bety "nå kommer det data fra strekkodeleseren". Og å globalhooke 'A' er vel litt drastisk Men det skal ikke være noen normal input som vil slutte på en stor A. Det går an å sjekke om tekststrengen i mellom er en gyldig strekkode, og gå videre derifra. Bruken av A er dog ufordelaktig, ettersom noen presterer å bruke caps lock fremdeles. Men det er et veldig lite rom for feil. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå