当另一个打开时杀死进程

时间:2013-11-05 19:37:10

标签: process autohotkey

我尝试了一些没有运气的变种:

Process, Exist, Game.exe
    Process, Close, GamePatcher.exe
Return

我正在玩游戏,即使游戏发布后发射器/修补器也会保持打开状态。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

While循环可以帮助你。这是一个使用可以重用的小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
}