per Batch Programme in best. Reihenfolge starten (1 Viewer)

larry_S

MP Donator
  • Premium Supporter
  • December 11, 2008
    1,456
    185
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    Natürlich geht es auch simpel. Kann dann aber Probleme machen.

    Simpel wäre
    Code:
    Set WshShell = Wscript.CreateObject("WScript.Shell")
    intreturn = wshshell.run(chr(34) & "C:\WINDOWS\Notepad.exe"&chr(34) ,9,false)
    wscript.sleep 1000
    wshShell.SendKeys "Eine Zeile Text"

    Daraus ergeben sich aber ggf. Probleme.

    Wenn das Notepad länger wie eine Sekunde braucht werden die Tastatureingaben trotzdem getätigt.
    Daher wird mit folgendem Code gewartet bis das Fenster mit dem Titel Notepad aktiv ist und setzt erst dann die Eingaben fort. Zusätzlich gibt es eine Notausgang nach 20 Sekunden. Kann das Notepad nämlich nicht gestartet werden, befindet man sich in einer Endlosschleife. Da hilft dann nur der Taskmanager.
    Code:
    while wshShell.AppActivate("Notepad") = FALSE and a<>20
        a=a+1
        wscript.sleep 500 '500 Millisekunden warten
    wend

    Und folgende If Then Schleife prüft nur, ob das Fenster auch vorhanden ist.
    Code:
    if  wshShell.AppActivate("Notepad") = True then
      Anweisungen
    end if

    Zusätzlich empfiehlt es sich das Fenster öfters in den Vordergrund zu holen und zu aktivieren. Wenn die Tasteneingaben in ein anderen Programm wandern kann dies unerwartete Folgen haben. Daher:
    Code:
    wshShell.AppActivate("Notepad")

    Gruß
    Larry
     

    Ponyriemen

    MP Donator
  • Premium Supporter
  • July 9, 2007
    2,570
    110
    /root/home
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    ...der Wahnsinn.:oops:

    Vielen Dank! Jetzt hab ich erstmal was zum basteln, werd mal gucken, wie weit ich komme und mich "ggfs" oder "ziemlich sicher" hier wieder melden...

    Danke soweit!
    Pony
    :D

    noch eins: wie kann ich Taste TAB oder ENTER übergeben ans Script?
     

    larry_S

    MP Donator
  • Premium Supporter
  • December 11, 2008
    1,456
    185
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    Geht mit "{ENTER}" bzw. "{TAB}".
    Mit Enter sollte man aber sparsam umgehen. Besser ist bei einem Button meist die Leertaste " ".

    Gruß
    Larry
     

    Ponyriemen

    MP Donator
  • Premium Supporter
  • July 9, 2007
    2,570
    110
    /root/home
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    ...
    Daher wird mit folgendem Code gewartet bis das Fenster mit dem Titel Notepad aktiv ist und setzt erst dann die Eingaben fort. Zusätzlich gibt es eine Notausgang nach 20 Sekunden. Kann das Notepad nämlich nicht gestartet werden, befindet man sich in einer Endlosschleife. Da hilft dann nur der Taskmanager.
    Code:
    while wshShell.AppActivate("Notepad") = FALSE and a<>20
        a=a+1
        wscript.sleep 500 '500 Millisekunden warten
    wend

    Und folgende If Then Schleife prüft nur, ob das Fenster auch vorhanden ist.
    Code:
    if  wshShell.AppActivate("[B]Notepad[/B]") = True then
      Anweisungen
    end if
    ...muss das "Notepad" mit dem Text des Fenstertitels ersetzt werden oder kommt da der Programmname rein bloss ohne die Erweiterung?

    Pony
     

    larry_S

    MP Donator
  • Premium Supporter
  • December 11, 2008
    1,456
    185
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    Nimm am Besten den Fenstertitel, so wie er unten in der Taskleist steht. Der Anfang reicht schon. Also Notep nimmt ein Fenster was mit Notep beginnt oder enthält. Bei mehreren Fenster ist das Ergebnis nicht immer logisch. Deshalb je genauer desto besser.
    Es müsste aber auch der Dateinamen gehen.

    Gruß
    Larry
     

    Ponyriemen

    MP Donator
  • Premium Supporter
  • July 9, 2007
    2,570
    110
    /root/home
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    sodele, bin schon um einiges weiter, dank Deiner Hilfe

    als nächstes stehe ich vor dem Problem, "ALT+n" als Eingabe zu übergeben und wenn möglich, bestimmte Programme auf dem erweitertem Desktop (2ter Monitor) zu öffnen.
    Ach und "maxmimieren" wäre auch noch cool...

    Ist das möglich?
    Wie muss ich vorgehen?
     

    larry_S

    MP Donator
  • Premium Supporter
  • December 11, 2008
    1,456
    185
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    Alt+n geht mit "%n".

    Bei starten der Anwendung hat man keinen Einfluss, auf welchem Bildschirm das Programm startet.
    So etwas ginge aber z.B. mit AutoIt. Mir war das aber bisher der Aufwand nicht Wert, da die Programme meist auf dem Bildschirm starten, von dem diese auch beendet wurden.

    Gruß
    Larry
     

    Ponyriemen

    MP Donator
  • Premium Supporter
  • July 9, 2007
    2,570
    110
    /root/home
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    ok, soweit verstanden. Kann ich mit bestimmen, ob das Programm maximiert gestartet wird?
     

    larry_S

    MP Donator
  • Premium Supporter
  • December 11, 2008
    1,456
    185
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    Ja das geht. Weiß jetzt aber auch nicht auswendig, welcher Parameter das genau war. Kannst ja bei dem Run Befehl mal die Zahlen durchprobieren. Ich glaube die 7 war Maximiert und 1 ist minimiert.

    Am besten lade dir mal folgende Hilfe Datei runter:
    Download details: Windows Script 5.6 Documentation
    Da werden alle Befehle mit Beispielen beschrieben.

    Gruß
    Larry
     

    Patrik-See

    MP Donator
  • Premium Supporter
  • May 12, 2009
    276
    42
    Home Country
    Germany Germany
    AW: per Batch Programme in best. Reihenfolge starten

    Sowas habe ich mir auch schon mal überlegt.
    Dabei ging es mir aber weniger um die Startzeit des Rechners, eher darum das man einzelne Programme in der richtigen Reihenfolge laden lassen kann.
    So das Media Portal erst ganz am Schluss geladen wird wenn alle z.B Treiber, Fernbedienung ect. fertig geladen sind.
     

    Users who are viewing this thread

    Top Bottom