Einzelnen Beitrag anzeigen
Ungelesen 23.12.09, 14:55   #18
haze303
xor eax, eax
 
Benutzerbild von haze303
 
Registriert seit: Sep 2009
Beiträge: 592
Bedankt: 466
haze303 ist noch neu hier! | 1 Respekt Punkte
Standard

Tut mir leid, ich kann den Ablauf nicht so ganz nachvollziehen. Für mich kommen am Ende immer zwei S*****s raus - eins das die EXE beendet und eins das die EXE wieder startet.
So wie du das haben möchtest ist es auch möglich, aber dann würde das WMI-Objekt eine dauerhafte Abfrage der Prozessliste machen und das würde dich konstant 30-40% CPU-Last kosten.


//Edit:
Falls du es trotz allem mit den S*****en noch einmal versuchen möchtest. Ich hoffe, dass der Syntax für den Aufruf von Steam jetzt korrekt ist - Leerzeichen in der Pfadangabe sind der Tod und sollten verboten werden...

S***** zum beenden:
Code:
strComputer = "."
strProcessKill = "'iw4mp.exe'"

Set WshShell = CreateObject("WS*****.Shell")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = " & strProcessKill )

For Each objProcess in colProcess
	objProcess.Terminate()
Next
S***** zum starten
Code:
Set WshShell = CreateObject("WS*****.Shell")
WshShell.Run("""D:\Program Files\Steam\Steam.exe"" -applaunch 10190")

WS*****.Sleep 6000
WshShell.AppActivate "Im abgesicherten Modus starten?"
WS*****.Sleep 200
WshShell.SendKeys ("{TAB}")
WshShell.SendKeys ("{ENTER}")
__________________
Desktop: Arch Linux | Laptop: Arch Linux
VM: Windows 7, Windows XP, Fedora 14, Arch, Windows Server 2008 R2 Enterprise
haze303 ist offline   Mit Zitat antworten