gerhard85
Goto Top

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

Content-Key: 138289

Url: https://administrator.de/contentid/138289

Printed on: April 20, 2024 at 02:04 o'clock

Mitglied: 76109
76109 Mar 15, 2010 at 20:44:23 (UTC)
Goto Top
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
Member: gerhard85
gerhard85 Mar 15, 2010 at 21:26:58 (UTC)
Goto Top
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
Mitglied: 76109
76109 Mar 15, 2010 at 21:38:34 (UTC)
Goto Top
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
Member: gerhard85
gerhard85 Mar 16, 2010 at 07:03:53 (UTC)
Goto Top
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
Mitglied: 76109
76109 Mar 16, 2010 at 08:26:17 (UTC)
Goto Top
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
Member: gerhard85
gerhard85 Mar 16, 2010 at 08:58:59 (UTC)
Goto Top
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
Mitglied: 76109
76109 Mar 16, 2010 at 11:16:55 (UTC)
Goto Top
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
Member: gerhard85
gerhard85 Mar 16, 2010 at 12:10:34 (UTC)
Goto Top
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