Win8.1: Aufgabenplanung - AutoIt3-Script blinkt nur in Taskleiste

  • Hallo,

    ich verwende ein AutoIt3-Script um ein Tool mit zwei Eingaben jeden Tag zu einem bestimmten Zeitpunkt zu starten.

    Wenn ich das Script mit einen Doppelklick aus dem Explorer heraus starte, dann funktioniert es korrekt (d.h. das Script ist prinzipiell okay, es tut was es soll und hat auch schon unter winXP lange Zeit als zeitgesteuerter Task zuverlässig funktioniert).

    Sobald ich es aber automatisiert über die Aufgabenplanung bei Win8.1 starten möchte, dann bleibt es in der Taskleiste "hängen", d.h. es braucht dann noch einen "Anschubser" per manuellen Klick auf das blinkende Icon und erst dann läuft es los. Das ist aber etwas suboptimal, dass das Script nicht automatisch durchstartet und so anhänglich ist. Dieser negative Effekt ist erst unter Win8.1 aufgetreten, deshalb vermute ich dass man da vielleicht irgendwo noch ein Häcken setzen muss, oder ähnliches.

    Habe schon alle möglichen Optionen die die Aufgabenplanung beim anlegen eines zeitbasierden Task bietet durchgetestet (z.B. mit und ohne priviligierte Rechte, Einstellung als Win8/alsWin7/Vista, usw.), aber bisher ohne Erfolg. Eine Option "starte Script im Vordergrung mit aktiven Fokus" scheint es nicht zu geben.

    Vielleicht kennt jemand das Problem schon und hat vielleicht eine Lösung.
    Danke.

    Viele Grüße,
    Sten

    PS:
    Ich habe schon ganz viel ausprobiert, auch bezüglich autoIt-Befehle, aber bisher ohne Erfolg:

    1.)Variante ... alte Variante, die unter winXP als zeitgesteuerter Task zuverlässig funktioniert hatte
    =========
    Run("C:\Windows\system32\javaw.exe ... jclient/InputFrame ...", "C:\install\Tool")
    WinWaitActive("Fenstername")
    WinActivate("Fenstername")
    Sleep(1000) ;
    AutoItSetOption("SendKeyDelay", 100); Use AutoItSetOption to slow down the typing speed so we can see it
    Send("inhaltTextfeld1")
    Sleep(2000)
    Send("{TAB}")
    Sleep(2000)
    Send("inhaltTextfeld2")
    Send("{ENTER}")

    2.Variante ... habe hier im Forum ein paar Tipps gefunden, wie man das mit dem Win*-Befehlen besser machen kann. Zusätzlich habe ich noch WinSetOnTop() eingebaut, um zu erzwingen das das Fenster auch wirklich den Fokus hat und aus der Taskleiste von "selbst hochkommt". Leider alles ohne Erfolg.
    ========
    Run("C:\Windows\system32\javaw.exe ... jclient/InputFrame ...", "C:\install\Tool")
    WinWait("Fenstername")
    WinActivate("Fenstername")
    WinWaitActive("Fenstername")
    WinSetOnTop("Fenstername", "", 1)
    AutoItSetOption("SendKeyDelay", 100); Use AutoItSetOption to slow down the typing speed so we can see it
    Sleep(1000)
    Send("inhaltTextfeld1")
    Sleep(2000)
    Send("{TAB}")
    Sleep(2000)
    Send("inhaltTextfeld2")
    Send("{ENTER}")

    PS2:
    Ich habe die derzeit aktuellste AutoIt-Version V3.3.10.2 auf meinem PC installiert und ich melde mich direkt an den PC an, d.h. nichts mit Remotezugriff oder ähnlichem.

    13 Mal editiert, zuletzt von sten (22. Mai 2014 um 11:20)

  • PS:
    Ich habe noch folgende Tests gemacht, um den Fehler weiter einzugrenzen.
    1.) meine Firewall kurzzeitig ausgeschaltet ... Problem besteht unverändert weiter

    2.) das AutoIt-Script nur noch auf die Run(...)-Zeile reduziert ... Problem besteht unverändert weiter
    ==> gibt es hier vielleicht noch andere Start-Befehle oder Option die den Start in dem Vordergrund erzwingen ?

    3.) starte die Script-autoIt.exe nicht direkt, sondern habe den Start in eine bat-Datei reingepackt, d.h. so:
    Datei: TestStart.bat ... die Zeittask startet die bat-Datei
    >C:\AutoIt3\myScripte\TestStart.exe //das ist das generierte autoIt-Script als exe
    >Pause
    ==> jetzt startet das Script korrekt im Vordergrund, aber neues Problem, die Send-Befehl Zeichen kommen nicht mehr an

  • so gehts:
    - mit indirekten Aufruf über eine bat-Datei
    - braucht dann mehr Zeit, d.h. die Pause "Sleep(1000)" (siehe Scripte) auf z.B. 5s erhöhen