Process 当另一个进程打开时终止进程

Process 当另一个进程打开时终止进程,process,autohotkey,Process,Autohotkey,我已经尝试过一些类似的方法,但运气不好: Process, Exist, Game.exe Process, Close, GamePatcher.exe Return 我在玩一个游戏,即使在游戏启动后,发射器/补丁程序仍然保持打开状态 有什么想法吗?一段时间的循环应该能帮到你。下面是一个解决方案,它使用了一个可以重用的小ProcExists函数 Loop { If ProcExists("Game.exe") and ProcExists("GamePatcher.exe")

我已经尝试过一些类似的方法,但运气不好:

Process, Exist, Game.exe
    Process, Close, GamePatcher.exe
Return
我在玩一个游戏,即使在游戏启动后,发射器/补丁程序仍然保持打开状态


有什么想法吗?

一段时间的循环应该能帮到你。下面是一个解决方案,它使用了一个可以重用的小
ProcExists
函数

Loop
{
    If ProcExists("Game.exe") and ProcExists("GamePatcher.exe") 
        break
    Sleep 500
}
; Both procs exist, wait for Game to close.
While ProcExists("Game.exe")
    Sleep 500
Process, Close, GamePatcher.exe
Reload ; Reloads waiting for both to exist again

ProcExists(p)
{    
    Process, Exist, % p
    Return ErrorLevel
}
如果您希望连续执行此操作(始终保持脚本运行),最好实现如下
SetTimer

#Persistent

SetTimer, checkGame, 1000
Return

CheckGame:
If ! ProcExists("Game.exe")
    Process, Close, GamePatcher.exe

ProcExists(p)
{    
    Process, Exist, % p
    Return ErrorLevel
}

我想避开计时器,因为我已经有另一个计时器在运行。第一个例子似乎对我不起作用。按照它的编写方式,脚本必须在游戏已经存在之后启动。是这样吗?我可以编辑脚本以等待游戏先存在。“GamePatcher.exe”中有一个按钮(PLAY)可以启动“Game.exe”,所以…我想。。。您建议的编辑将修复此问题?请确保正在运行(并且您希望与之交互)的确实是game.exe,而不是game.exe启动的另一个用于故障排除的程序。我编辑了第一个脚本,以等待Game.exe和GamePatcher.exe同时存在,然后再等待Game.exe关闭。