gerhard85

Programmanordnung Taskleiste

schönen abend!

habe da ein kleines problem, nämlich hab ich ein vb script geschrieben, dass zwei programm hintereinander öffnet (mit einem vermerk, dass dazwischen gewartet werden muss, dass das programm ausgeführt ist), jedoch hab ich nun dass problem dass programm2 in der taskleiste als erstes angeführt wird und programm 1 als zweites?

woran kann dies liegen bzw. kann man das problem ohne installation von zusätzlicher software lösen?

das script schaut wie folgt aus:
Set WshShell = WScript.CreateObject ("WScript.Shell")
WshShell.Run "programm1.exe", 1
Shellandwait = true
WshShell.Run "programm2.exe", 1
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 138289

Url: https://administrator.de/forum/programmanordnung-taskleiste-138289.html

Ausgedruckt am: 08.07.2025 um 01:07 Uhr

76109
76109 15.03.2010 um 21:44:23 Uhr
Hallo gerhard85!

Was soll die Variable "ShellAndWait" bewirken?

Versuchs mal damit:
Set WshShell = WScript.CreateObject ("WScript.Shell")  
WshShell.Run "programm1.exe", 1  
WScript.Sleep 100  '100 Milisekunden warten  
WshShell.Run "programm2.exe", 1  

Vermutlich braucht Programm 1 länger als Programm 2, bis es geladen ist.

Gruß Dieter
gerhard85
gerhard85 15.03.2010 um 22:26:58 Uhr
vorab besten dank für die schnelle antwort!

also mit einer verzögerung hätt ich's schon auch probiert, aber mit dem gleichen ergebnis, dass programm2 als erstes in der taskleiste angeführt wird.

also mit schellandwait sollte das zweite programm warten bis da erste komplett ausgeführt wurde, jedoch hatt wer einen besseren befehl um dies zu interpretieren?

gruß
gerhard
76109
76109 15.03.2010 um 22:38:34 Uhr
Hallo gerhard85!

Soll Programm 1 nur zuerst ausgeführt werden bzw. wird das Programm nach der Ausführung wieder geschlossen oder bleibt es geöffnet.

Wenn es nur ausgeführt wird, dann sollte das funktionieren
WshShell.Run "programm1.exe", 1, True 'Warten bis Programm beendet ist  
Gruß Dieter
gerhard85
gerhard85 16.03.2010 um 08:03:53 Uhr
guten morgen!

also der hintergrund wäre dieser, dass ich mit dem skript den autostart steuern möchte, dass das programm 1 geöffnet wird und komplett ausgeführt, danach programm 2 geöffnet und ausgeführt wird, usw.

daher suche ich wohl einen befehl, der dies dem skript sagt, dass das programm ausgeführt werden soll und erst dann das zweite startet!

besten dank im voraus
gerhard
76109
76109 16.03.2010 um 09:26:17 Uhr
Guten Morgen!

Hast Du meine letzte Antwort gelesen? Wenn nein, dann achte mal auf dieses unscheinbare "TRUE" am Ende der Zeile. Das hält das Script solange an, bis das Programm beendet ist.

Gruß Dieter
gerhard85
gerhard85 16.03.2010 um 09:58:59 Uhr
hmm.... also hätts auch so noch einmal probiert, aber mit dem Ergebnis, dass Programm 1 keine Quittierung sendet, somit startet Programm 2 erst nachdem ich Programm 1 beendet habe?

gruß
Gerhard
76109
76109 16.03.2010 um 12:16:55 Uhr
Hallo gerhard!

Anscheinend, reden wir ganz schön aneinander vorbei.

Dann bleibt Dir wohl nur die Möglichkeit mit "WScript.Sleep". Versuch mal schrittweise die Zeit in Millisekunden zu erhöhen oder versuchs erstmal mit 500 Milisekunden.

Eine andere Idee habe ich sonst leider auch nichtface-wink

Gruß Dieter
gerhard85
gerhard85 16.03.2010 um 13:10:34 Uhr
hallo dieter!

vorab mal besten dank für deine hilfe, aber mit dem sleep befehl komm ich nicht dahin wo ich will, nämlich die programme nacheinander zu starten, laden, und auch dementsprechend in der taskleiste anzuzeigen.

hat jemand anders eine idee?

vg
gerhard