Problem mit Tab-Taste

  • 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")

  • 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

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • 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)
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    $line = FileReadLine($file)
    FileClose($file)

    [/autoit][autoit][/autoit][autoit]

    run("C:\Programme\New Sign\NewSign.exe")
    WinWait("Titel")
    WinActivate("Titel")
    Send("{TAB}")
    Send($line)

    [/autoit]

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • 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}")

    Einmal editiert, zuletzt von mue26xxl (11. September 2008 um 07:30)

  • schau Dir den Befehl ControlClick an.

    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---