Hilfe benötigt bei "Skript für GIMP Installation"

  • Hallo Gemeinde!

    Ich bin dabei mit AutoIt ein wenig zu beginnen.

    Möchte mir einige Skripte erstellen,....

    Bei Gimp hab ich gleich mal ein Problem.

    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    BlockInput (1)
    run ("gimp-2.6.10-i686-setup-1.exe")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP", "&Next", "TNewButton1")
    winwait("Setup - GIMP")
    sleep(2000)
    controlclick("Setup - GIMP", "&Next", "TNewButton2")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP", "&Install now", "TButton2")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP",
    controlclick("Setup - GIMP", "", "TNewCheckListBox1")
    controlclick("Setup - GIMP", "&Finish", "TNewButton2")
    BlockInput (0)

    [/autoit]

    bei Zeile 23 bzw. 24 macht er nichts mehr.

    Bei diesem Bild macht er mir macken.

    Die Window Info zeigt mir das an
    Kann mir bitte jemand helfen?

    Gruß
    Airwin001

    Einmal editiert, zuletzt von Airwin001 (16. November 2010 um 16:47)

  • Hallo!

    Wenn ich ein

    [autoit]

    sleep(18000)

    [/autoit]

    vorher sende, dann

    [autoit]

    Send("{SPACE}")
    Send("{ENTER}")

    [/autoit]

    dann funktioniert es.

    aber wie kann ich ihm sagen, dass er entweder das Häckchen anklickt, oder aber auch einfach wartet bis das fenster kommt und dann erst SPACE und ENTER drückt?

    mit

    [autoit]

    winwait("Setup - GIMP")

    [/autoit]


    funktioniert es nicht?!?

    so sieht er jetzt aus, aber die 18sec möchte ich unbedingt noch weg haben!

    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    BlockInput (1)
    run ("gimp-2.6.10-i686-setup-1.exe")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP", "&Next", "TNewButton1")
    winwait("Setup - GIMP")
    sleep(2000)
    controlclick("Setup - GIMP", "&Next", "TNewButton2")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP", "&Install now", "TButton2")
    sleep(18000)
    Send("{SPACE}")
    SEND("{ENTER}")
    BlockInput (0)

    [/autoit]
  • Zeig mal was du da geschrieben hast, an Errors kann man arbeiten;
    Am besten gleich die Art des Errors dazu ;)

    Line 11 (File "C:\Dokumente und Einstellungen\Gamer\Desktop\test\GimpSkript.exe"):


    Error: Error parsing function call.

    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    BlockInput (1)
    run ("gimp-2.6.10-i686-setup-1.exe")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP", "&Next", "TNewButton1")
    winwait("Setup - GIMP")
    sleep(2000)
    controlclick("Setup - GIMP", "&Next", "TNewButton2")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP", "&Install now", "TButton2")
    sleep(2000)
    WinWaitActive
    Send("{SPACE}")
    Send("{ENTER}")
    BlockInput (0)

    [/autoit]
  • mit WinWaitActive kommt überhaupt nichts mehr zustande ?(

    wie kann ich ihm warten lassen, wenn sich der fenstertitel nicht änder, einfach die installation abwartet und dann space und enter drückt?
    mit der zeit, also sleep(18000) ist es halt auch ziemlich unsicher!

    Bitte um Unterstützung! :thumbup:

    Einmal editiert, zuletzt von Airwin001 (15. November 2010 um 21:49)

  • Post mal den Code, ohne ist es imemr schwer herauszuraten was der Fehler sein könnte.


  • mit sleep(18000) ist es der einzige der funktioniert, aber der ist finde ich nicht sicher :cursing:

    wenns mal länger dauert, dann funktioniert er nicht mehr!

  • Ich denke das Problem sind die Fenster Titel die alle gleich sind.

    Der Controlclick für die letzte checkbox wird also eventuell schon ausgeführt bevor das Fenster überhaupt da ist.

    Versuche mal den 2. Parameter von WinWait zu nutzen um das Fenster eindeutig zu identifizieren.

  • Hallo!

    Bei dem Bild wäre der Code bzw. die Zeile dann folgende?

    [autoit]

    winwait("Setup - GIMP", "Completing the GIMP Setup Wizard")

    [/autoit]

    oder müsste die Zeile anders lauten?

    Gruß
    Airwin

  • Bitboy

    Danke, so hat es funktioniert

    Der Vollständigkeit halber hier nochmals der ganze Code!

    Danke
    Gruß
    Airwin001

    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    BlockInput (1)
    run ("gimp-2.6.10-i686-setup-1.exe")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP", "&Next", "TNewButton1")
    winwait("Setup - GIMP")
    sleep(2000)
    controlclick("Setup - GIMP", "&Next", "TNewButton2")
    winwait("Setup - GIMP")
    controlclick("Setup - GIMP", "&Install now", "TButton2")
    sleep(2000)
    winwait("Setup - GIMP", "Completing the GIMP Setup Wizard")
    sleep(1000)
    Send("{SPACE}")
    Send("{ENTER}")
    BlockInput (0)

    [/autoit]
  • Hallo!

    Eine Frage habe ich doch noch!

    Was ist, wenn sich durch eine neue Version (hier im Beispiel halt bei Gimp) der Fenstertitel ändert.

    [autoit]

    controlclick("Setup - GIMP", "&Install now", "TButton2")
    winwait("Setup - GIMP", "Completing the GIMP Setup Wizard")

    [/autoit]

    Setup - GIMP kann ja bei einer neuen Version vom Hersteller leicht zum Setup - GIMP vx.y werden.

    Gibt es da eine Art Platzhalter?

    Gruß
    Airwin001

  • Am besten erstmal das Handle mit

    [autoit]

    WinGetHandle

    [/autoit]


    ermitteln.
    (Dann kann sich der Fenstertitel sooft ändern wie er will....)

    Wenn

    [autoit]

    WinWait

    [/autoit]

    dann immer noch nicht geht dann versuch mal

    [autoit]

    While Not WinExists($handle)
    Sleep(10)
    WEnd

    [/autoit]

    MfG hellboy

    [autoit]

    Do
    _help($user)
    Until $questions = 0

    [/autoit]

    Meine Werke:
    Ste`s Web-Radio