Code-Frage

  • Hallo,

    ich bin neu hier und hoffe, dass ich in das richtige Forum schreibe...

    Also ich möchte eine Automatische Installation programmieren/erstellen, bei der es zu einer Meldung kommen KANN, aber nicht muss.. also ich möchte sozusagen den Winwait befehl einbauen der entweder auf das Fenster "installation" abgeschlossen wartet oder falls eine Fehlermeldung erscheint diese erst bestätigt und dann eben wieder auf das Installationsende wartet... sozusagen ein befehl wie: "wenn fenster 1 erscheint, bestätige dieses , dann warte auf fenster 2, ansonsten, falls fenster 1 nicht erscheint: warte auf fenster 2.

    ich hoffe, dass ich es einigeraßen verständlich geschrieben habe...
    Vielen Dank schonmal

  • Hallo HansWurst,

    Idee schon, aber die hat nicht unbedingt etwas mit AutoIt zu tun.

    Wenn ich dich richtig verstehe, könntest du die AdLib Function verwenden. Mal in der AutoIt Hilfe suchen.
    In der AdLib Function baust du dann das WinWait für die Fehlermdlung ein und was so danach kommt.
    Ansonsten läuft das Script mit der WinWait Erfolgsmeldung durch.

    Wenn das nicht geht, dann würde ich dir vorschlagen
    1.) Silent Hersteller Setup zu verwenden
    oder
    2.) Das Hersteller Setup zu repaketieren

    Dann hast du die Probleme nicht mehr. :D

    Gruß,
    Axel

    --
    Mit freundlichen Grüßen,
    Axel Stoppa

  • Schonmal mit

    If WinWait ( "fenster 1" , "fenster 1" , 30 ) = 1 then ;Wartet 30 Sekunden auf das Erste Fenster.
    ;Fehlermeldung wegklicken
    Endif
    Winwait ("Fenster2,"Fenster2")

  • DANKE, das ist schonmal super, werds gleich mal ausprobieren, aber wnen man nun einen langsamen pc hat kann die fehlermeldung auch nach 30 sekunden kommen... gibts da eine lösung die merkt welches fenster auftaucht (unabhängig von der zeit) und dann mit dem richtigen fenster weiterarbeitet?

    Gruß

  • Du kannst mit WinExits is einer Schleife abfragen ;)

    Spoiler anzeigen
    [autoit]

    $FehlerFenster = "Fehler"
    $InstallationsFenster = "Installation"

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

    Do
    Sleep(500)
    Until WinExists($FehlerFenster) Or WinExists($InstallationsFenster)

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

    If WinExists($FehlerFenster) Then
    ; Fehler behandeln
    EndIf

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

    WinWait($InstallationsFenster)
    ; Weitermachen

    [/autoit]