Fenster aktivieren

  • Hallo,
    ich arbeite erst seit kurzem mit AutoIt, deshalb weiß ich nicht ob ich etwas falsch mache.
    Eine Software konnte ich bereits mittels AutoIt komplett installieren.
    Nun habe ich noch eine Software, die vollständig automatisch mit AutoIt installiert werden soll.
    Leider schaffe ich es hier nicht. Wenn ich die setup.exe starte, ist das Fenster nicht aktiv.
    Ich habe schon folgendes probiert:

    Code
    Run("SETUP.EXE")
    WinActivate("Installation Setup for Evaluation Version")
    Send("!{n}")


    Leider wird das Fenster dadurch auch nicht aktiviert und somit nicht installiert. Hab den Titel extra mit der AutoIt Window Info anzeigen lassen.
    Wenn ich das Setup z. B. über den Arbeitsplatz starte, ist dieses Fenster sogar über dem des Setup Programms.

    Weiß jemand ob ich das Programm auf eine andere Art installieren könnte?
    Mir ist der Sprachumfang von AutoIt noch nicht geläufig

    Besten Dank
    Michael

    Einmal editiert, zuletzt von mecky (10. August 2009 um 18:54)

  • 1. Benutze wenn möglich anstatt Send ControlSend, damit kannst du buttons, inputs etc. direkt ansteuern (das fenster muss dazu auch nicht aktiviert sein)
    2. Prüfe ob deine Installation die Möglichkeit einer SilentInstall hat sodass du die installation per CMD-Line Parameter steuern kannst und das nicht per GUI machen musst

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

    • Offizieller Beitrag

    Bevor Du ein Fenster aktivieren kannst, musst Du erstmal warten (WinWait) bis das Fenster überhaupt geöffnet wurde.

    Ansonsten ist es bei automatischen Installationen besser die Control-Befehle zu verwenden anstatt Send, weil Dir bei Send der Benutzer "dazwischenfunken" kann.
    Mit dem Tool "Au3Info.exe" bekommst Du alle Informationen, die Du für die Control-Befehle benötigst.

  • Herzlichen Dank.
    Das mit dem ControlSend würde mir wirklich besser gefallen, nur leider klappt es noch nicht.
    Könnt ihr vielleicht mal schauen ob ich etwas falsch mache?

    Wenn ich das Setup starte kommt folgendes Fenster.
    Wenn ich das Fenster mit der Maus anklicke und dann ALT+N drücke, kommt das nächste Fenster. Dies soll automatisiert werden.

    [Blockierte Grafik: http://webuser.hs-furtwangen.de/%7Eeckhar/AutoIt/autoItFenster.JPG
    Ich gebe nun ein:
    Run("SETUP.EXE")
    ControlSend("Installation Setup for Evaluation Version", "", "[CLASS:Button; INSTANCE:6]", "!{n}")

    ich hatte auch probiert:
    ControlSend("Installation Setup for Evaluation Version", "", 6, "!{n}")

    und
    ControlSend("Installation Setup for Evaluation Version", "", 1, "!{n}")
    Aber keine Anweisungen zeigt eine Reaktion.


    Ich habe auch schon versucht (als erstes) die Software silent zu installieren, aber sie ist anscheinend schon so alt, dass es das zu diesem Zeitpunkt noch nicht gab. Deshalb versuche ich es mit AutoIt.

    tschau

  • Klasse, mit dem ControlClick hat es funktioniert.
    Hab es dann auch mit dem ControlSend ausprobiert und funktioniert nun auch.
    Da fehlte tatsächlich nur das WinWait.
    Na dann werd ich mein Skript morgen gleich noch einmal überarbeiten.

    Danke für die wahnsinnsschnellen Antworten!
    tschau