VBS startet nicht in der Win10 Aufgabenplanung

  • VBScript

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Skripter429.

    VBS startet nicht in der Win10 Aufgabenplanung

    Hallo!

    Kurze Vorgeschichte:

    Ich möchte zu einer bestimmten Uhrzeit ein Programm starten, das kriege ich auch mit der Aufgabenplanung hin.

    Das Programmfenster geht auf und ein Passwort muss eingegeben werden, bzw. es muss nur die Enter-Taste gedrückt werden.

    Für das drücken der Enter-Taste habe ich eine vbs geschrieben (Besser gesagt, ich habs mir gegoogelt):

    Set fsShell = WScript.CreateObject("WScript.Shell")

    fsShell.AppActivate "NanoTrader Login"

    fsShell.SendKeys "{ENTER}"

    Die vbs funktioniert auch, wenn ich sie mit einem Doppelklick ausführe.
    Der Befehl kommt im Programmfenster an und das Programm fährt hoch.
    Alles super.

    Der Plan ist, dass in der Aufgabenplanung um 13:00 das Programm startet
    und um 13:01 die vbs ausgeführt wird. Aus irgendeinem Grund wird die vbs
    aber nicht korrekt ausgeführt. Es passiert garnichts, bzw. das
    Programmfenster in der Taskleiste blinkt.

    dropbox.com/s/23jswdbpkttauan/Aufgabenplanung.JPG?dl=0

    Kann mir jemand weiterhelfen? Danke!

    Habe das ganze schon im Chip Forum gepostet, leider ohne Antwort.
    forum.chip.de/discussion/18870…der-win10-aufgabenplanung
    Willkommen im Forum.
    Machst Du das mit 2 Aufgaben? 1. Aufgabe: NanoTrader starten, 2. Aufgabe (ggf. 10 Sekunden später) VBS-Datei starten
    Dein DropBox-Bild sagt leider nix aus. Die Trigger- und Bedingungsfenster wären hilfreicher. Aber bitte über [Erweiterte Antwort] forenintern hochladen. Wir klicken uns nicht gern zu Fremdhostern, die ggf. Werbung dazuschalten, sonstewas machen und irgendwann die Bilder löschen.

    Da ich kein Broker bin und mir NanoTrader nicht zulegen werde, habe ich auf notepad zurückgegriffen. Funktioniert. Funktioniert das bei Dir auch?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ja, es sind 2 Aufgaben mit 1 Minute Abstand.

    Habe von den beiden Aufgaben die Fenster für Trigger und Bedingungen hochgeladen.

    Ich verstehe nicht ganz wie du das mit Notepad meinst. Ich habe Notepad++ auf meinem Laptop installiert, aber nicht genutzt um die vbs zu erstellen. Habe damals die 3 Zeilen in den Texteditor eingefügt, abgespeichert und die Dati in NTlogin.vbs umbenannt.

    Wenn ich das ganze manuell ausführe funktioniert es ja einwandfrei, wie in meinem 1. post beschrieben. Nur in Verbindung mit der Aufgabenplanung klappt es nicht. Kann die Aufgabenplanung keine vbs starten...?

    Mit vorweihnachtlichen Grüßen
    Bilder
    • NT Login Bedingungen.JPG

      76,96 kB, 802×373, 506 mal angesehen
    • NT Login Trigger.JPG

      50,1 kB, 807×211, 455 mal angesehen
    • NT Start Bedingungen.JPG

      78 kB, 823×362, 399 mal angesehen
    • NT Start Trigger.JPG

      44,59 kB, 804×193, 405 mal angesehen
    Mit notepad meinte ich, dass ich das "automatisiert" habe, also dass das VBScript notepad manipuliert, weil ich keinen NanoTader habe, den ich manipulieren kann. Die Aufgabenplanung kann VBScript-"Programme" ausführen. Bei mir funktioniert es ja, notepad wird beeinflusst. Allerdings sehe ich in den Screenshots, dass Deine Aufgaben deaktiviert sind. Aktivier die mal und schreib mal späßleshalber ins VBScript insgesamt folgenden Code:

    Visual Basic-Quellcode

    1. MsgBox "Login erfolgt jetzt."
    2. Set fsShell = WScript.CreateObject("WScript.Shell")
    3. fsShell.AppActivate "NanoTrader Login"
    4. WScript.Sleep 1000
    5. fsShell.SendKeys "{ENTER}"

    Läuft es dann?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Wenn ich deinen code in der vbs abspeichere und mit einem Doppelklick ausführe, öffnet sich die Box "Login erfolgt jetzt", da muss ich allerdings auf OK klicken, dann startet NT. Wenn ich die Zeile mit der Message Box weglasse funtioniert es.
    Aber wenn ich es mit der Aufgabeplanung mache werde ich gefragt wie die Datei geöffnet werden soll.

    Nachtrag:
    Habe gerade herausgefunden warum es nicht mit der Aufgabeplanung funktioniert:
    Wenn das Fenster "NanoTrader Login" aufgeht, ist der Titel grau dargestellt, das müsste also bedeuten, dass das Fenster inaktiv ist...? Wenn ich es durch anklicken auf den Titel aktiviere und anschließend die vbs mit der Aufgabenplanung startet, funktioniert es.
    Jetzt muss man also irgendwie zuerst das Fenster aktivieren, dann kann der Enterbefehl gesendet werden.
    Bilder
    • Wie.JPG

      26,4 kB, 380×500, 454 mal angesehen
    • NT grau.JPG

      8,52 kB, 205×26, 2.849 mal angesehen
    • NT schwarz.JPG

      9,07 kB, 208×26, 2.857 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Huschpuscheldi“ ()

    Und wie? Das zu wissen, wäre für die Nachwelt sinnvoll.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Meine Lösung ist folgende:
    NanoTrader wird mit der Win10 Aufgabenplanung gestartet, das Anmeldefenster ist inaktiv.

    Mit der Win10 Aufgabenplanung wird nach 30 Sekunden die NTLogin.vbs gestartet.

    Set fsShell = WScript.CreateObject("WScript.Shell")
    fsShell.SendKeys "z"
    WScript.Sleep 100
    fsShell.SendKeys "{ENTER}"

    Diese sendet die Taste „z“ an den Desktop und startet mit „Enter“ die z.vbs

    Set fsShell = WScript.CreateObject("WScript.Shell")
    fsShell.AppActivate "NanoTrader Login"
    WScript.Sleep 100
    fsShell.SendKeys "{ENTER}"

    Diese sendet „Enter“ an das Anmeldefenster. NanoTrader startet.

    Das alles funktioniert perfekt auf meinem Laptop und auch auf meinem Server (Win Server 2016 von Strato strato.de/server/windows-vserver/).
    NanoTrader läuft ca. 23 Stunden pro Tag, deswegen der Server. Ich will nicht, dass mein Laptop tagelang durchläuft.

    Leider funktioniert das mit der vbs doch nicht, weil:
    Wenn die NTLogin.vbs ausgeführt wird, muss der Desktop des Servers aktiv sein. Das ist scheinbar nur dann der Fall, wenn ich mit meinem Laptop auf den Server zugreife. Wenn ich keine Verbindung zum Server habe, ist der Desktop nicht aktiv und die NTLogin.vbs sendet die Taste „z“ nicht an den Desktop des Servers.

    Ich habe schon versucht einen Mausklick an das Anmeldefenster zu senden, aber mit meinen nicht vorhandenen vbs Kenntnissen schaffe ich das nicht und ich befürchte, dass funktioniert auch nicht, wegen dem oben erwähnten nicht aktiven Desktop auf dem Server.

    NanoTrader soll um 00:01 Uhr starten, um diese Uhrzeit sitze ich nicht vor dem Laptop, deswegen der ganze Aufwand.

    Falls mir dennoch jemand helfen möchte und kann würde ich mich freuen.

    Grüße

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Huschpuscheldi“ ()

    Versuche's doch mal mit der Sprache AutoIt!
    Die Sprache ist leicht verwandt mit vb, und hat als Hauptzweck, andere Programme fernzusteuern.
    Die für dich interessanten Kommandos sind "ShellExecute" zum Starten deines Programms, "WinWait" zum Warten auf das Login-Fenster und "ControlSetText" bzw. "ControlClick" zum Login.
    Für die Control-IDs Starte AutoIt Window Info und wandere mit dem Finder Tool über das Eingabefeld bzw. den Button.
    Grüße