7

到目前为止,我有:

Process, Exist notepad.exe
Process, Close, %p_id%

如果存在,如何设置 ahk 以终止该进程?我读到它与PID有关,但不知道如何实现。

4

3 回答 3

11

看看文档

您可以通过简单地使用进程的名称来杀死:

Process, Close, notepad.exe

如果进程不存在,它将什么都不做。

如果您仍想通过使用pid来终止进程,则必须使用WinGet命令来检索pid.

于 2013-10-03T13:02:13.363 回答
2

此 AHK 脚本在按下Ctrl+ Alt+时会终止活动进程K

^!k::
{
    WinGet, xPID, PID, A
    Process, Close, %xPID%
}
return
于 2014-03-07T16:37:06.660 回答
2

至少有两种方法可以从我可以立即想到的窗口中获取 PID

1:

WinGet, My_PID, PID, WinTitle

2:

Run, ProgramFilePath "Args", Options, My_PID

第一个是获取已经运行的窗口PID,第二个是在使用AHK打开程序时获取PID。在这两种情况下,变量“My_PID”现在都包含窗口进程 ID

要回答关闭进程(如果存在)的问题,您可以尝试几种方法。

ifWinExist ahk_pid %My_PID%
    Process, Close, %My_PID%
; OR
Process, Exist, %My_PID% ; from my examples above
;Process, Exist, notepad.exe ; from your example above
If ErrorLevel ; Errorlevel is set to matching PID if found
    Process, Close, %ErrorLevel%

我认为这应该回答你的直接问题

于 2015-06-15T18:04:09.090 回答