Fehler bei Firefox Installation. Zu schnelle Eingabe

  • Hallo seit einigen Tagen baue ich ein Programm für eine Grundinstallation aller Programme die man für das Grundsystem braucht. Bin bei einigen Programmen auf ein sporatischen Fehler gestoßen. Bei der Firefox Installation muss man erst mit [ALT]+[A] die Lizensvereinbarung akzeptieren, und dann mit [ALT]+[W] Weiter gehen.

    Normalerweise sollte das so gehen, Send("!a !w"), glaube ich als leihe. Oder noch mit einem Trennezichen. Das geht aber nicht weil es anscheinend zu lange dauert bis das Kontrollkästchen aktiviert ist. Deswegen wird nur die erste Tastenkombination (!a) ausgeführt, und die zweite geht ins leere weil der Button noch eingegraut ist.

    Dann habe ich versucht es so zu machen:
    Send("!a")
    Send("!w")
    Das funktioniert aber so auch nicht immer, mal gehts mal auch nicht. Ich glaube das ist das selbe Problem. Deswegen habe ich es jetzt so gemacht:
    Send("!a")
    Sleep(500)
    Send("!w")
    Und das funktioniert auch, braucht aber 2 Befehler mehr als es eigentlich sein sollte. Gibts für dieses Problem eine Lösung. Habe schon gesucht aber nicht gefunden.

    Einmal editiert, zuletzt von Luxenburg (18. November 2008 um 09:52)

  • Hallo, vielen Dank für die Antworten. Habe es mit ControlClick und ControlCommand wunderbar hinbekommen. Für die vielleicht auch das Problem haben, hier nochmal der fertige Code:


    WinWaitActive("Mozilla Firefox-Installation","Lizenzvereinbarung")
    ControlCommand ("Mozilla Firefox-Installation", "Lizenzvereinbarung", "Button4", "Check", "")
    ControlClick ("Mozilla Firefox-Installation", "Lizenzvereinbarung", 1)

    • Offizieller Beitrag
    [autoit]

    WinWaitActive("Mozilla Firefox-Installation","Lizenzvereinbarung")

    [/autoit]

    ist riskant, es könnten andere Programme reinpfuschen und dazu führen, dass dein Fenster nie (mehr) active wird.
    Daher lieber

    [autoit]

    WinWait("Mozilla Firefox-Installation","Lizenzvereinbarung")

    [/autoit]

    oder

    [autoit]

    WinWait("Mozilla Firefox-Installation","Lizenzvereinbarung")
    WinActivate("Mozilla Firefox-Installation","Lizenzvereinbarung")
    WinWaitActive("Mozilla Firefox-Installation","Lizenzvereinbarung")

    [/autoit]


    (letzteres falls man Send usw. benutzt und das Fenster aktiv sein muss)

    peethebee