Key Down Event verliert den Fokus HELP

Vamp7771

Mitglied
Hallo zusammen,

ich habe eine Anwendung gebastelt, die verschiedene Barcodes produziert.
Da die Anwendung ein Druckvolumen von bis zu 5000 Barcodes pro Auftrag können soll, lasse ich diese Anwendung nach dem ersten Ausdruck im Hintergrund laufen.
Damit der Benutzer auch etwas anderes als nur warten tun kann.

Deshalb sollen der nächste Druckbefehl und die Variantensteuerung (Barcodes) über Tastenkombinationen erfolgen während das Programm im Tray ist.

Der Code dafür ist:

Code:
Private Sub Change_Variant_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles txt_Barcode.KeyDown
        If (e.KeyCode = Keys.F1) Then
            last_Scan = 1
        End If
        If (e.KeyCode = Keys.F2) Then
            last_Scan = 2
        End If
        If (e.KeyCode = Keys.Space) And last_Scan <> "" Then
            Call Fetch_Data(last_Scan)
        End If
    End Sub

(Versuchsweise mache ich das erst mal nur Variantenauswahl mit "F1" / "F2"
und Druckbefehl "Space")

Ich muss meinen Keydown Event aber an etwas Binden, wie hier zum Beispiel an
"Handles txt_Barcode.KeyDown"

Sobald der erste Ausdruck erfolgt, minimiert sich die Application als Traysymbol und läuft im Hintergrund mit...dabei verliere ich meinen Fokus auf die meine TextBox "txt_Barcode"

Wie kann ich mein Event als "Thread" laufen lassen oder irgendwie als Dienst, so dass ich in andere Programme wechseln kann (Excel / Word) und dennoch sobald ich die Tastenkombi benutze ein Ausdruck erfolgt..

Ich hoffe ihr versteht mein Problem :)

Help
Greetz euer Vampy
 
Hey YO Vamp :D

Wie kann ich mein Event als "Thread" laufen lassen oder irgendwie als Dienst, so dass ich in andere Programme wechseln kann (Excel / Word) und dennoch sobald ich die Tastenkombi benutze ein Ausdruck erfolgt..

hm.. hoffe ich versteh dich richtig, du möchtest, dass deine Anwendung im Hintergrund läuft und nicht sichtbar ist, aber die Tastenkombination immer noch von deinem Programm erkannt und gehandled wird oder?

Tja, dann wirst du an Windows Hooking nicht vorbei kommen :(
Damit kannst du Messages, die an Windows in die EventQueue gesendet werden abfangen und verarbeiten, bevor das Betriebssystem damit etwas tut (vorrausgesetzt du arbeitest mit Windows)

Schau mal hier in diesem Forum, findest bestimmt was ganz Tolles zu dem Thema *gg*
Ansonsten Google
 
Hey Yo auch :)

Ja du hast mich absolut richtig verstanden.
Vielen Dank für deinen Tipp, ich werde gleich mal nach Windows Hooking suchen!
Falls noch jemand irgendeine Idee hat, immer her damit!

Gruß euer Vamp
 
Zurück