Frage von Fite4k, 38

Batch Datei die bei Programm start und ende eine Taste drückt und jede Sekunde überprüft ob das Programm gestartet oder geschlossen wurde how to?

Ich kann das Programm leider nicht direkt öffnen heißt: Die Batch datei muss jede Sekunde überprüfen ob das Programm geöffnet wurde. Wenn ja soll eine Taste gedrückt werden und dann jede Sekunde überprüft werden ob das Programm geschlossen wurde. Wenn das dann passiert soll wieder einmal eine Taste gedrückt werden und wieder von vorne das ganze.

Ne taste drücken hab ich rausgefunden kann ich über eine vbs datei die ich über den Befehl wscript "vbsname.vbs" in der batch aufrufe

vbs datei : Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.SendKeys "{NUMLOCK}"

Ich glaube man muss dafür tasklist oder so benutzten aber da ich absolut keine ahung habe und mein wissen nur irgendwie halb ergoogelt habe und jetzt nicht mehr weiter komme :D frage ich hier einen menschen sich zutraut mir schnell auszuhelfen danköööö :D

Antwort
von S1r1us13, 10
set Previous=No
:Loop
tasklist /NH | findstr /i /C:"Prozess.exe" >nul 2>nul && set Started=Yes || set Started=No
if "%Previous%" == "No" if "%Started%" == "Yes" call :Gestartet
if "%Previous%" == "Yes" if "%Started%" == "No" call :Beendet
goto Loop

Die Datei durchsucht die Ausgabe des TASKLIST-Befehls (/NH = no header) nach "Prozess.exe" (/i = ignoriere Groß-/Kleinschreibung). Falls die Suche erfolgreich war (&&), merkt sie es sich mit "Yes". Falls die Suche erfolglos war ( || ), merkt sie es sich mit "No".

Unter den Sprungmarken ":Gestartet" und ":Beendet" kannst du deine gewünschten Aktionen platzieren. Mit "EXIT /B" beendest du den Aufruf der Sprungmarke und kehrst in den Loop zurück.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten