Hallo, als absoluter Anfänger im Bezug auf Autoit habe ich folgendes Problem. Ich habe ein Script geschrieben, mit welchen einige Programme etc gestartet werden und verschiedene Aktionen ausgeführt werden sollen. Ich habe aber nun das Problem, das bei dem Programm Newsign die Tabtaste gedrückt werden und ein zuvor per Strg+C kopierter Text eingefügt werden muss.
Hier mal das Script:
RunWait("notepad.exe c:\led.txt")
WinWaitActive("led.txt - Editor")
Send("{CTRLDOWN}a{CTRLUP}")
Send("{CTRLDOWN}c{CTRLUP}")
WinClose("led.txt - Editor")
RunWait("C:\Programme\New Sign\NewSign.exe")
WinWaitActive("C:\Programme\New Sign\NewSign.exe")
Send("{TAB}")
Send("{CTRLDOWN}v{CTRLUP}")
WinClose("C:\Programme\New Sign\NewSign.exe")
Problem mit Tab-Taste
-
- [ offen ]
-
mue26xxl -
10. September 2008 um 07:22 -
Geschlossen -
Erledigt
-
-
Zitat
WinWaitActive("C:\Programme\New Sign\NewSign.exe")
funktioniert das wirklich?
ich dachte die Syntax sieht eher so aus:
WinWaitActive ( "title" [, "text" [, timeout]] )Außerdem ist es vermutlich zuverlässiger die txt Datei mit FileReadLine zu lesen als mit dem Notepad.
aus deinem Thread geht nicht hervor, wo überhaupt Dein Problem ist. Geht die TAB Taste nicht?Franz
-
RunWait ist auch falsch, da muss man das Programm beenden, bevor das Skript weitermacht!
-
so müsste es klappen. Aber dann steht der Text der Datei in dem Programm und macht noch nichts. Ist auch doof.
[autoit]$file = FileOpen("led.txt", 0)
[/autoit][autoit][/autoit][autoit]
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
$line = FileReadLine($file)
FileClose($file)run("C:\Programme\New Sign\NewSign.exe")
[/autoit]
WinWait("Titel")
WinActivate("Titel")
Send("{TAB}")
Send($line) -
Den Code hatte ich dem Scriptwriter entnommen, da ich wie gesagt noch nicht wirklich klar komme.
Das wäre ja schonmal gut das der Text in der NewSign drin steht. Ichmuss dann halt per Send die Newsign dazu bringen einen bestimmten Button zu nutzen womit ich diesen Text an eine LED-Anzeige sende.
Das Problem was ich hatte, war das ich im geöffneten Newsign-Fenster quasi einmal Tab drücken muss, damit ich den Text in das dafür zuständige Feld kopieren kann. Werde das morgen mal testen.Edit: Soweit läuft das Script. Jetzt habe ich nur das problem, das ich in der Newsign die Daten nicht per Tastaturbefehl an die Laufschrift schicken kann, sondern einen Button drücken muss. Hab es nun auch schon mal mit dem Scriptwriter probiert und die ganze Sache aufgezeichnet. Funktioniert aber leider nicht.
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
WinWait("New Sign","")
If Not WinActive("New Sign","") Then WinActivate("New Sign","")
WinWaitActive("New Sign","")
MouseMove(182,67)
MouseDown("left")
MouseUp("left")
WinWait("Send Message","")
If Not WinActive("Send Message","") Then WinActivate("Send Message","")
WinWaitActive("Send Message","")
Send("{ENTER}") -
schau Dir den Befehl ControlClick an.
Franz