VB Script zum Beenden und Starten eines Programms
Hallo,
auf meinem Thinkpad läuft WIN7 Pro 64. Es ist eine Software von Lenovo installiert, die sich "Anzeige am Bildschirm" (Hotkey) nennt. Damit wird z. B. automatisch ein Laustärkebalken auf dem Display eingeblendet, wenn man die Lautstärke verstellt.
Nun ist es leider so, dass dieses Programm häufiger nicht korrekt funktioniertt und die Anzeige am Bildschirm nicht richtig dargestellt wird. Diesen Fehler haben diverse Thinkpad-Nutzer trotz neuestem installiertem Treiber - der Fehler ist also bekannt. Es hilft dann aber immer, wenn man den zuständigen Prozess über den Taskmanager beendet und das Programm dann neu startet. Der Fehler kann nicht reproduziert werden und tritt mal 2 Tage lang gar nicht auf, dann beispielsweise aber so ca. alle 3 Stunden. Es ist einfach nervig, immer diesen umständlichen Weg zu gehen, um das Programm neu zu starten.
Ich kenne mich in dieser Materie absolut nicht, kam nun aber auf die Idee, dass ein kleines Script, dass ich dann über den Aufgabenplaner in bestimmten Zeitabständen laufen lassen möchte, helfen würde. Dieses Script sollte den Prozess "TPONSCR.exe *32" (C:\Program Files\Lenovo\HOTKEY die TPONSCR.exe ) beenden und ihn gelich anschliessend wieder neu starten.
Kann mir jemand bei der Erstellung eines solchen Scripts behilflich sein? Ich habe bereits eine Möglichkeit nur zum Beenden über "taskkill" gefunden, allerdings öffnet sich dann jedes Mal beim automatischen Ausführen kurz das Consolenfenster und der Befehl "taskkill" beendet ja auch nur den Prozess und startet ihn nicht gleich wieder neu. darum wäre ein Script, dass dann ohne jegliche Meldung abläuft, sehr hilfreich...
Viele Grüße
Vitos
auf meinem Thinkpad läuft WIN7 Pro 64. Es ist eine Software von Lenovo installiert, die sich "Anzeige am Bildschirm" (Hotkey) nennt. Damit wird z. B. automatisch ein Laustärkebalken auf dem Display eingeblendet, wenn man die Lautstärke verstellt.
Nun ist es leider so, dass dieses Programm häufiger nicht korrekt funktioniertt und die Anzeige am Bildschirm nicht richtig dargestellt wird. Diesen Fehler haben diverse Thinkpad-Nutzer trotz neuestem installiertem Treiber - der Fehler ist also bekannt. Es hilft dann aber immer, wenn man den zuständigen Prozess über den Taskmanager beendet und das Programm dann neu startet. Der Fehler kann nicht reproduziert werden und tritt mal 2 Tage lang gar nicht auf, dann beispielsweise aber so ca. alle 3 Stunden. Es ist einfach nervig, immer diesen umständlichen Weg zu gehen, um das Programm neu zu starten.
Ich kenne mich in dieser Materie absolut nicht, kam nun aber auf die Idee, dass ein kleines Script, dass ich dann über den Aufgabenplaner in bestimmten Zeitabständen laufen lassen möchte, helfen würde. Dieses Script sollte den Prozess "TPONSCR.exe *32" (C:\Program Files\Lenovo\HOTKEY die TPONSCR.exe ) beenden und ihn gelich anschliessend wieder neu starten.
Kann mir jemand bei der Erstellung eines solchen Scripts behilflich sein? Ich habe bereits eine Möglichkeit nur zum Beenden über "taskkill" gefunden, allerdings öffnet sich dann jedes Mal beim automatischen Ausführen kurz das Consolenfenster und der Befehl "taskkill" beendet ja auch nur den Prozess und startet ihn nicht gleich wieder neu. darum wäre ein Script, dass dann ohne jegliche Meldung abläuft, sehr hilfreich...
Viele Grüße
Vitos
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 142842
Url: https://administrator.de/contentid/142842
Ausgedruckt am: 18.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo vitos77 und willkommen im Forum!
Ein entsprechendes VBScript könnte etwa so aussehen:
Grüße
bastla
Ein entsprechendes VBScript könnte etwa so aussehen:
P = "TPONSCR.exe" 'lt Anzeige per "tasklist"
Prog = "C:\Program Files\Lenovo\HOTKEY\TPONSCR.exe" 'Pfad zum Programm (für Neustart)
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set Proc = WMI.ExecQuery("Select * from Win32_Process Where Name = '" & P &"'")
For Each P In Proc
P.Terminate
Next
WScript.Sleep 2000 '2 Sekunden Pause
WScript.CreateObject ("WScript.Shell").Run Prog
bastla
Hallo vitos77!
Sorry - hatte nicht auf das Leerzeichen in "Program Files" geachtet ...
Ändere bitte die Zeile 2 auf
Erklärung: In VBS müssen Anführungszeichen, die selbst unter Anführungszeichen stehen, verdoppelt werden - daher jeweils insgesamt 3 Stück hintereinander. Benötigt werden die zusätzlichen Anführungszeichen, damit der Pfad beim Starten als Einheit betrachtet (und nicht am Leerzeichen zwischen "Program" und "Files" auseinandergerissen) wird.
Grüße
bastla
Sorry - hatte nicht auf das Leerzeichen in "Program Files" geachtet ...
Ändere bitte die Zeile 2 auf
Prog = """C:\Program Files\Lenovo\HOTKEY\TPONSCR.exe""" 'Pfad zum Programm (für Neustart)
Grüße
bastla