Der Test mit dem Script #2 aus der Hilfe hat funktioniert, wobei ich nur ALT-d über den Barcodescanner eingegeben habe. Mit einer kleinen Änderung, kann das Verhalten des Scanners gut nachvollzogen werden. Für die Pause Funktion habe ich !d verwendet und zur Ausgabe von "This is a message." !dd. Im Trace ist zu sehen das HotKeyPressd zwei Mal ausgeführt wird, "This is a message." wird also nie angezeigt.
Bei dem Script im ersten Post, wird unmittelbar die Funktion Teil036_GC ausgeführt, egal was ich scanne. Müsste nicht eine davorliegende Funktion gegriffen werden?
Beiträge von StephanR1
-
-
Mahlzeit,
entschuldige die späte Antwort, ich bin nicht wirklich zum Testen gekommen. Ich habe folgendes Script zum Test erstellt.
Spoiler anzeigen
AutoIt
Alles anzeigen#include <MsgBoxConstants.au3> HotKeySet("!1", "HotKeyPressed") HotKeySet("!2", "HotKeyPressed") HotKeySet("!3", "HotKeyPressed") HotKeySet("!4", "HotKeyPressed") HotKeySet("!5", "HotKeyPressed") HotKeySet("!11", "HotKeyPressed") HotKeySet("!12", "HotKeyPressed") HotKeySet("!13", "HotKeyPressed") HotKeySet("!14", "HotKeyPressed") HotKeySet("!15", "HotKeyPressed") HotKeySet("!111", "HotKeyPressed") HotKeySet("!112", "HotKeyPressed") HotKeySet("!113", "HotKeyPressed") HotKeySet("!114", "HotKeyPressed") HotKeySet("!115", "HotKeyPressed") While 1 Sleep(100) WEnd Func HotKeyPressed() Switch @HotKeyPressed ; The last hotkey pressed. Case "!1" ; String is the alt-1 hotkey. MsgBox($MB_SYSTEMMODAL, "", "1") Case "!2" ; String is the alt-2 hotkey. MsgBox($MB_SYSTEMMODAL, "", "2") Case "!3" ; String is the alt-3 hotkey. MsgBox($MB_SYSTEMMODAL, "", "3") Case "!4" ; String is the alt-4 hotkey. MsgBox($MB_SYSTEMMODAL, "", "4") Case "!5" ; String is the alt-5 hotkey. MsgBox($MB_SYSTEMMODAL, "", "5") Case "!11" ; String is the alt-11 hotkey. MsgBox($MB_SYSTEMMODAL, "", "11") Case "!12" ; String is the alt-12 hotkey. MsgBox($MB_SYSTEMMODAL, "", "12") Case "!13" ; String is the alt-13 hotkey. MsgBox($MB_SYSTEMMODAL, "", "13") Case "!14" ; String is the alt-14 hotkey. MsgBox($MB_SYSTEMMODAL, "", "14") Case "!15" ; String is the alt-15 hotkey. MsgBox($MB_SYSTEMMODAL, "", "15") Case "!111" ; String is the alt-111 hotkey. MsgBox($MB_SYSTEMMODAL, "", "111") Case "!112" ; String is the alt-112 hotkey. MsgBox($MB_SYSTEMMODAL, "", "112") Case "!113" ; String is the alt-113 hotkey. MsgBox($MB_SYSTEMMODAL, "", "113") Case "!114" ; String is the alt-114 hotkey. MsgBox($MB_SYSTEMMODAL, "", "114") Case "!115" ; String is the alt-115 hotkey. MsgBox($MB_SYSTEMMODAL, "", "115") EndSwitch EndFunc ;==>HotKeyPressed
Scanne ich 11, erhalte ich zwei Nachrichten 1 und 1. Scanne ich 115, erhalte ich drei Nachrichten 1, 5, 5. Ist der Code völlig falsch oder könnte es an der Übertragung liegen, das nicht alle Tasten gleichzeitig gedrückt werden?
Beste Grüße, Stephan
-
Hallo autoBert,
danke für das Script, nach dem Quellordner kommen noch unterschiedliche Ordner die ich berücksichtigen muss, ich hatte es der Übersichtlichkeit halber angepasst. Ich werde versuchen das Script ein wenig anzupassen und mit $input zu arbeiten. Die GUI würde ich an dieser Stelle weglassen, das Script soll ruhig im Hintergrund liegen.
Beste Grüße,
Stephan
-
Hallo zusammen,
ich bin hier neu im Forum und unternehme gerade die ersten Gehversuche mit AutoIt. Für mein Vorhaben "Datei kopieren via Barcode" konnte ich kein passendes Tool finden, bis ich auf AutoIt gestoßen bin. Es soll beim scannen eines Barcodes, ein bestimmter Dateityp .rcp im Zielordner gelöscht und die entsprechende Datei in den Zielordner kopiert werden. Anfangs dachte ich "cool klappt alles wunderbar" aber aber momentan bin ich etwas am verzweifeln. Sobald das Script mehrere Funktionen enthält, springt es zur letzten Funktion und versucht diese auszuführen, was ich mir nicht erklären kann.
Mein Barcodescanner Symbold LS22208 sendet ALT- und übergibt die Zeichen, was mit einem einzelnen Teil im Script auch wunderbar klappt. Zum "Keylogger" reichen die AutoIt Kenntnisse nicht aus, deshalb verwende ich die HotKeySet Funktion, was man sicher eleganter lösen könnte. Sollte die HotKeySet Funktion auch mit dieser Anzahl an Hot Keys auch funktionieren oder gibt es ein Limit dafür?Beste Grüße,
Stephan
Spoiler anzeigen
AutoIt
Alles anzeigenHotKeySet("!-Teil012_SD.rcp", "Teil012_SD") HotKeySet("!-Teil013_SD.rcp", "Teil013_SD") HotKeySet("!-Teil018_SD.rcp", "Teil018_SD") HotKeySet("!-Teil026_SD.rcp", "Teil026_SD") HotKeySet("!-Teil026_GC.rcp", "Teil026_GC") HotKeySet("!-Teil026_SL.rcp", "Teil026_SL") HotKeySet("!-Teil026_TP.rcp", "Teil026_TP") HotKeySet("!-Teil029_SD.rcp", "Teil029_SD") HotKeySet("!-Teil029_GC.rcp", "Teil029_GC") HotKeySet("!-Teil029_SL.rcp", "Teil029_SL") HotKeySet("!-Teil029_TP.rcp", "Teil029_TP") HotKeySet("!-Teil030_SD.rcp", "Teil030_SD") HotKeySet("!-Teil030_GC.rcp", "Teil030_GC") HotKeySet("!-Teil030_TP.rcp", "Teil030_TP") HotKeySet("!-Teil031_SD.rcp", "Teil031_SD") HotKeySet("!-Teil031_GC.rcp", "Teil031_GC") HotKeySet("!-Teil031_SL.rcp", "Teil031_SL") HotKeySet("!-Teil031_TP.rcp", "Teil031_TP") HotKeySet("!-Teil032_SD.rcp", "Teil032_SD") HotKeySet("!-Teil032_GC.rcp", "Teil032_GC") HotKeySet("!-Teil032_SL.rcp", "Teil032_SL") HotKeySet("!-Teil032_TP.rcp", "Teil032_TP") HotKeySet("!-Teil032_SC.rcp", "Teil032_SC") HotKeySet("!-Teil033_SD.rcp", "Teil033_SD") HotKeySet("!-Teil033_GC.rcp", "Teil033_GC") HotKeySet("!-Teil033_SL.rcp", "Teil033_SL") HotKeySet("!-Teil033_TP.rcp", "Teil033_TP") HotKeySet("!-Teil034_SD.rcp", "Teil034_SD") HotKeySet("!-Teil034_GC.rcp", "Teil034_GC") HotKeySet("!-Teil034_SL.rcp", "Teil034_SL") HotKeySet("!-Teil034_TP.rcp", "Teil034_TP") HotKeySet("!-Teil035_SD.rcp", "Teil035_SD") HotKeySet("!-Teil035_GC.rcp", "Teil035_GC") HotKeySet("!-Teil035_TP.rcp", "Teil035_TP") HotKeySet("!-Teil036_SD.rcp", "Teil036_SD") HotKeySet("!-Teil036_GC.rcp", "Teil036_GC") Func Teil012_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil012\Teil012_SD.rcp", "C:\Zielordner") EndFunc Func Teil013_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil013\Teil013_SD.rcp", "C:\Zielordner") EndFunc Func Teil018_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil018\Teil018_SD.rcp", "C:\Zielordner") EndFunc Func Teil026_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil026\Teil026_SD.rcp", "C:\Zielordner") EndFunc Func Teil026_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil026\Teil026_GC.rcp", "C:\Zielordner") EndFunc Func Teil026_SL() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil026\Teil026_SL.rcp", "C:\Zielordner") EndFunc Func Teil026_TP() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil026\Teil026_TP.rcp", "C:\Zielordner") EndFunc Func Teil029_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil029\Teil029_SD.rcp", "C:\Zielordner") EndFunc Func Teil029_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil029\Teil029_GC.rcp", "C:\Zielordner") EndFunc Func Teil029_SL() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil029\Teil029_SL.rcp", "C:\Zielordner") EndFunc Func Teil029_TP() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil029\Teil029_TP.rcp", "C:\Zielordner") EndFunc Func Teil030_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\SD Teil030\Teil030_SD.rcp", "C:\Zielordner") EndFunc Func Teil030_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil030_GC\Teil030_GC.rcp", "C:\Zielordner") EndFunc Func Teil030_TP() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil030_TP\Teil030_TP.rcp", "C:\Zielordner") EndFunc Func Teil031_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\SD Teil031\Teil031_SD.rcp", "C:\Zielordner") EndFunc Func Teil031_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil031_GC\Teil031_GC.rcp", "C:\Zielordner") EndFunc Func Teil031_SL() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil031_SL\Teil031_SL.rcp", "C:\Zielordner") EndFunc Func Teil031_TP() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil031_TP\Teil031_TP.rcp", "C:\Zielordner") EndFunc Func Teil032_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\SD Teil032\Teil032_SD.rcp", "C:\Zielordner") EndFunc Func Teil032_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil032_GC\Teil032_GC.rcp", "C:\Zielordner") EndFunc Func Teil032_SL() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil032_SL\Teil032_SL.rcp", "C:\Zielordner") EndFunc Func Teil032_TP() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil032_TP\Teil032_TP.rcp", "C:\Zielordner") EndFunc Func Teil032_SC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil032_SC\Teil032_SC.rcp", "C:\Zielordner") EndFunc Func Teil033_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\SD Teil033\Teil033_SD.rcp", "C:\Zielordner") EndFunc Func Teil033_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil033_GC\Teil033_GC.rcp", "C:\Zielordner") EndFunc Func Teil033_SL() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil033_SL\Teil033_SL.rcp", "C:\Zielordner") EndFunc Func Teil033_TP() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil033_TP\Teil033_TP.rcp", "C:\Zielordner") EndFunc Func Teil034_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil034\Teil034_SD.rcp", "C:\Zielordner") EndFunc Func Teil034_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil034\Teil034_GC.rcp", "C:\Zielordner") EndFunc Func Teil034_SL() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil034\Teil034_SL.rcp", "C:\Zielordner") EndFunc Func Teil034_TP() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil034\Teil034_TP.rcp", "C:\Zielordner") EndFunc Func Teil035_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil035_SD.rcp", "C:\Zielordner") EndFunc Func Teil035_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil035_GC\Teil035_GC.rcp", "C:\Zielordner") EndFunc Func Teil035_TP() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil035_TP\Teil035_TP.rcp", "C:\Zielordner") EndFunc Func Teil036_SD() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil036\Teil036_SD.rcp", "C:\Zielordner") EndFunc Func Teil036_GC() FileDelete("C:\Zielordner\*.rcp") FileCopy("C:\Quellordner\Teil036\Teil036_GC.rcp", "C:\Zielordner") EndFunc ; Script am Leben halten Zeit in Millisekunden. while 1 sleep(100000000) WEnd