Goede middag,
Is het mogelijk om een toetsaanslag te herleiden naar het invoerapparaat dat deze verstuurd heeft?
Ik wil namelijk alleen bepaalde acties uitvoeren indien een toetsaanslag afkomstig is van de barcode scanner (de barcode scanner verstuurd de ingelezen barcode door als een reeks toetsaanslagen).
Op het moment heb ik dit:
Enkele ideeën die ikzelf heb:
Is het mogelijk om een toetsaanslag te herleiden naar het invoerapparaat dat deze verstuurd heeft?
Ik wil namelijk alleen bepaalde acties uitvoeren indien een toetsaanslag afkomstig is van de barcode scanner (de barcode scanner verstuurd de ingelezen barcode door als een reeks toetsaanslagen).
Op het moment heb ik dit:
- Met behulp van de reference System.Management kan ik de ID's van al mijn invoerapparaten (toetsenbord, muis, wacom en barcode scanner) opvragen.
- Met behulp van een low level keypress event class kan ik alle toetsaanslagen en muisclicken binnen Windows opvangen.
Enkele ideeën die ikzelf heb:
- Ik kan wel een toetsaanslag koppelen aan het Actieve process in Windows. Dus bijvoorbeeld A - Google Chrome, B - Patience, C - Excel etc. Maar dit is gedaan m.b.v. de Windows API, hiervoor was geen standaard iets beschikbaar in VB.NET. Bestaat er iets in de Windows API waarmee ik kan communiceren in VB.NET dat mij het active invoerapparaat teruggeeft?
- Timen hoeveel seconden tussen toetsaanslagen zit. Als deze nagenoeg 0 is, dan is het zeer waarschijnlijk dat deze aanslagen afkomstig zijn van een barcodescanner. Maar dit heeft een beetje ducktape gehalte, zeg maar.