Programm per VBS beenden (kein Prozesskill und kein ALT-F4!)
Wie beendet man ein Programm per VBS so, als wenn man es per ALT+F4 bzw. X-Symbol beendet?
Hi @ all,
Ich würde gerne wissen, wie ich mit einem VB-Script ein laufendes Programm (z.B. Word) so beenden kann, dass noch z.B. Daten gespeichert werden (bei Word: Abfrage "Möchten Sie die Änderungen speichern?").
Ich habe mich schon etwas informiert und auch etwas hinbekommen:
mit "object.Terminate" funktioniert das wunderbar, allerdings brauche ich dafür das "object", dass ich davor durch "WScript.Exec" gesetzt habe, wodurch das Programm gestartet wird.
Das bedeutet im Klartext, dass ich ein Programm nur beenden kann, wenn ich es davor mit einem VB-Script gestartet habe. Ich möchte allerdings ein laufendes Programm durch Start/Aufruf des VB-Scripts beenden.
Kann mir jemand sagen, wie ich auch anders an dieses object kommen kann oder eine Alternative nennen?
Schon mal vielen Dank voraus ;)
Hi @ all,
Ich würde gerne wissen, wie ich mit einem VB-Script ein laufendes Programm (z.B. Word) so beenden kann, dass noch z.B. Daten gespeichert werden (bei Word: Abfrage "Möchten Sie die Änderungen speichern?").
Ich habe mich schon etwas informiert und auch etwas hinbekommen:
mit "object.Terminate" funktioniert das wunderbar, allerdings brauche ich dafür das "object", dass ich davor durch "WScript.Exec" gesetzt habe, wodurch das Programm gestartet wird.
Das bedeutet im Klartext, dass ich ein Programm nur beenden kann, wenn ich es davor mit einem VB-Script gestartet habe. Ich möchte allerdings ein laufendes Programm durch Start/Aufruf des VB-Scripts beenden.
Kann mir jemand sagen, wie ich auch anders an dieses object kommen kann oder eine Alternative nennen?
Schon mal vielen Dank voraus ;)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 81485
Url: https://administrator.de/contentid/81485
Ausgedruckt am: 20.11.2024 um 06:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo halo7one und willkommen im Forum!
Gibt es einen speziellen Grund, warum Du "Alt-F4" (etwa so:
nicht verwenden willst?
Da Du auch die "Terminate"-Methode des "Win32_Process" ausgeschlossen hast und ich tatsächlich keinen Weg sehe, wie Du ohne vorhergehendes "Exec" an das "WshScriptExec-Objekt" kommen kannst, erschiene mir der Weg über "SendKeys" noch als das kleinste Übel ...
Grüße
bastla
Gibt es einen speziellen Grund, warum Du "Alt-F4" (etwa so:
Set WshShell = WScript.CreateObject("WScript.Shell")
If WshShell.AppActivate("Microsoft Word") Then
WScript.Sleep 100
WshShell.SendKeys "%{F4}"
End If
Da Du auch die "Terminate"-Methode des "Win32_Process" ausgeschlossen hast und ich tatsächlich keinen Weg sehe, wie Du ohne vorhergehendes "Exec" an das "WshScriptExec-Objekt" kommen kannst, erschiene mir der Weg über "SendKeys" noch als das kleinste Übel ...
Grüße
bastla