Bisher habe ich:
Prozess, Existiert, notepad.exe
Prozess, Schließen, %p_id%
Wie setzen Sie ahk, um den Prozess zu beenden, wenn er existiert? Ich habe gelesen, dass es etwas mit der PID zu tun hat, weiß aber nicht, wie man das umsetzt.
Bisher habe ich:
Prozess, Existiert, notepad.exe
Prozess, Schließen, %p_id%
Wie setzen Sie ahk, um den Prozess zu beenden, wenn er existiert? Ich habe gelesen, dass es etwas mit der PID zu tun hat, weiß aber nicht, wie man das umsetzt.
Schauen Sie sich die Dokumentation an.
Sie können einfach nach dem Namen des Prozesses suchen, um ihn zu beenden:
Process, Close, notepad.exe
Wenn der Prozess nicht existiert, passiert nichts.
Falls Sie den Prozess trotzdem mittels der pid
beenden möchten, müssen Sie den Befehl WinGet verwenden, um die pid
abzurufen.
Es gibt mindestens zwei Möglichkeiten, die PID eines Fensters sofort zu erhalten, an die ich denken kann
1:
WinGet, My_PID, PID, WinTitle
2:
Run, ProgramFilePath "Args", Options, My_PID
Die erste Möglichkeit ist, die PID eines bereits laufenden Fensters zu erhalten, und die zweite Möglichkeit besteht darin, eine PID zu erhalten, wenn das Programm mit AHK geöffnet wird. In beiden Fällen enthält die Variable "My_PID" jetzt die Fensterprozess-ID
Um Ihre Frage nach dem Schließen eines Prozesses zu beantworten, wenn er existiert, könnten Sie es mit ein paar Methoden versuchen.
ifWinExist ahk_pid %My_PID%
Process, Close, %My_PID%
; ODER
Process, Exist, %My_PID% ; aus meinen obigen Beispielen
;Process, Exist, notepad.exe ; aus Ihrem obigen Beispiel
If ErrorLevel ; Errorlevel wird auf die übereinstimmende PID gesetzt, wenn sie gefunden wird
Process, Close, %ErrorLevel%
Ich denke, das sollte Ihre konkrete Frage beantworten
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.