VisualBasic Programm startet Minimiert, wie Normal starten?

Vortexx

Lieutenant
Registriert
Apr. 2009
Beiträge
936
Hi Leute,

Ich habe hier diesen Script:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """????""" , True
wscript.sleep 4000
WshShell.Run """????""", , 7
WshShell.Run "C:\windows\system32\taskkill /IM ??.exe", 0



Aber dann startet das erste Programm mit dem (, True) nur minimiert.

Und bei diesem Script startet es ganz normal. Wieso?

Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.run """????"""
wscript.sleep 4000
WSHShell.run """????"""


Was muss ich ändern, damit das erste Programm auch normal startet, so wie beim zweiten Script?

Danke :)

MFG
Vortexx
 
Zuletzt bearbeitet:
Ich habe mit VBScript kaum Erfahrung, aber auf jeden Fall sind Deine Aufrufe von WshShell.Run nicht richtig (die Kommas)
So wäre es korrekt(er):

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """????""" , ,True
wscript.sleep 4000
WshShell.Run """????""", 7
WshShell.Run "C:\windows\system32\taskkill /IM ??.exe", , 0

http://msdn.microsoft.com/de-de/library/d5fk67ky%28v=vs.85%29.aspx

Durch das True wird aber gewartet, bis das erste Programm beendet ist und dann noch mal 4 Sekunden. Dann wird das zweite minimiert gestartet.
Ist das so gewünscht?
 
Also sobald ich bei True noch ein Komma hinsetze, dann startet es wieder normal, aber dann startet das andere Programm erst nach dem Beenden von dem ersten.
Und wenn cih dann noch das zweite Komma bei der 0 hinsetze, dann passiert das gleiche.

Also liegt das Problem an den Komma bei dem True. Aber wa sbewirkt dieses Komma :D

MFG
 
Nein , es liegt nicht am Komma, sondern am True
Das bedeutet das Skript soll warten bis das erste Programm geschlossen ist.

Bei dem Aufruf von WshShell.Run wird nach dem Dateinamen als erster Parameter eine Zahl erwartet und als zweiter dann true oder false.
Bei false wird das Programm gestartet und das Skript läuft weiter. Genauso wenn nach dem Dateinamen gar keine weiteren Parameter folgen. (false ist der Standardwert)
 
Wenn man ture mit False ersetzt und dann das Wort mit der Zahl vertauscht geht es ;)

Danke :)))


MFG
Vortexx
Ergänzung ()

Habe noch ein Problem.

Bei dieser Batch Datei beendet er das andere Programm irgendwie nicht.

Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.run """C:\Program Files\Logitech\Gaming Software\LWEMon.exe""" ,, false
wscript.sleep 2000
WSHShell.run """C:\Program Files (x86)\Codemasters\F1 2011\F1_2011.exe""" ,, 2
WshShell.Run "C:\windows\system32\taskkill /IM LWEMon.exe", 0

Die LWEMon.exe ist die Logitech Profiler Software, die sich nachdem ich F1 2011 beendet habe einfach nicht schließen möchte.

Muss ich vll irgendwo noch die Berechtigungen ändern?

MFG
 
Zurück
Oben