Pause Autoit mit Meldung ohne Focuswechsel

  • Hallo Freunde der automatisierten Schritte,

    wie kann ich ein Autoit-Skript mit einer angezeigten Meldung unterbrechen, ohne dass die Autoit-Meldung den Fokus erhält?
    Das Autoit-Script soll später per Mausklick fortgesetzt werden.

    Eine Messagebox geht nicht, da diese den Fokus auf sich zieht.

    Edit: Mein Script hat keine GUI. Dank der Idee von autoBert möchte ich das Thema auf 2 Varianten erweitern.

    (a) Script hat keine GUI.

    (b) Script hat eine GUI - autoBerts Vorschlag - Statuszeile.

    Viele Grüße und vielen Dank :)
    AutoMit

    Einmal editiert, zuletzt von AutoMit (15. Februar 2016 um 12:25)

  • Mein Script hat keine GUI.

    Ich möchte den Gedanken dennoch aufgreifen.

    Meldung in der Statuszeile ändern - "Pause" - das bekomme ich hin.

    Wie würde ich das Skript pausieren lassen nach Änderung der Statuszeile?

  • TrayTip() ist eine gute Idee - danke für die Anregung, leider hier nicht umsetzbar, da „Task-Leiste automatisch ausblenden“ aktiviert ist und die Task-Leiste nicht sichtbar ist. Auf Monitor 2 ist sie nie sichtbar.

  • AutoIt
    While sleep(10)
        if ?weiter then
           ExitLoop
        endif
    WEnd


    Das klingt vielversprechend und das beschreibt meine Hürde sehr gut.

    Wie zeige ich eine Nachricht an (siehe Post 1), die beim Schließen der Nachricht $weiter = "ja" auf "ja" setzt, damit
    If $weiter = "ja" Then
    aktiviert werden kann?

  • Dafür brauchst du dir nur die Grundlagen von AutoIt ansehen. Stichwort: GuiCreate

    Wenn du fertige Programme haben möchtest, ohne selbst zu programmieren gehört das hier hin: Programmieranfragen
    (Copy&Paste ist KEIN programmieren und es macht nicht viel Spaß, dir ständig das gleiche zu sagen. Sonst bin ich auch bald raus... langsam nervt es etwas...)

  • ToolTip?

  • Jenachdem was erreicht werden soll wären vielleicht auch noch diese Funktionen eine Variante


    AutoIt
    SplashTextOn(...)
    SplashImageOn(...)
    SplashOff()

    Eine wirklich befriedigende Lösung wirst du aber wohl nur durch eine individuelle GUI erreichen.

  • TrayTip funktioniert bei mir auch mit automatischer Ausblendung, da die Taskleiste für die Zeit der Meldung nach vorne gezogen wird.
    Sonst schließe ich mich @Kanashius an. Das, was @autoBert geschrieben hat, ist nahezu das gewöhnlichste Script, welches es gibt, und darauf wärst du in wenigen Sekunden gekommen, wenn du - wie @Kanashius sagte - die Grundlagen beherrschen würdest.

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

    • Offizieller Beitrag

    Es ist ja auch so schwer eine GUI zu erstellen. Jeder andere schafft es, auch wenn er nur Koda benutzt.
    Manche wollen halt alles vorgekaut haben und suchen jemanden der den Arm aus der Sonne holt.

  • Eine Messagebox geht nicht, da diese den Fokus auf sich zieht.

    Nun dass lässt sich ändern (wie Kanashius schon sagte) in dem man ein eigenes Fenster erstellt.

    Hier eine GUI aus einem anderen Thread, welche das Script Pausiert:


    Die Msg Schleife müsste noch etwas angepasst werden, aber dass solltest du hinkriegen.
    Die GUI müsste dann nur den Status @SW_SHOWNOACTIVATE bekommen, wie du in dem anderem Thread schon bemerkt hast. :)

    Das bringt mich ja fast vom Glauben ab

    für Autoit Fenster ist das wirklich schon die Lösung - vielen Dank Kanashius

    GUISetState(@SW_SHOWNOACTIVATE)

    Kann man externe Fenster genauso leicht manipulieren, indem man ihnen diese Eigenschaft @SW_SHOWNOACTIVATE gibt? Wenn ja, wie?

    (falls Teil 2 auch so einfach zu lösen ist, war die Nuss wirklich nicht hart

    Das ganze sollte dann am besten in eine Funktion verpackt werden.
    Und fertig ist eine eigene Msgbox die sich nicht in den Vordergrund drängt.

    mfg
    Zeitriss