无法使用AutoHotkey关闭某些进程
我无法创建小型AutoHotkey脚本来终止测试服务器上的所有vsjitdebugger.exe进程。下面的代码我有:无法使用AutoHotkey关闭某些进程
Process, Exist, vsjitdebugger.exe
NewPID = %ErrorLevel%
if NewPID = 0
{
MsgBox Process doesnt exist
}
else
{
MsgBox Process exists
}
Process, WaitClose, vsjitdebugger.exe, 5
NewPID = %ErrorLevel%
if NewPID = 0
{
MsgBox Process no longer exists
}
else
{
MsgBox Process still exists
}
当运行该脚本告诉我,(vsjitdebugger.exe)过程中存在,正如我所期望的,但是当WaitClose情况仍然告诉我,过程(ES)存在,当我查看任务管理器时,同样数量的vsjitdebugger.exe进程仍在运行。
我能够使用任务管理器手动结束vsjitdebugger.exe进程。
基本上我无法结束这些过程。任何人都可以帮助我吗?谢谢。
更新:我也试过这种简单的循环过,但都无济于事:
Loop, 100
{
Process, Close, vsjitdebugger.exe
}
更新2:我尝试下面的代码下面的建议,但它只是停留在循环永远没有进程被杀死:
Loop
{
Process, Close, vsjitdebugger.exe
Process, wait, vsjitdebugger.exe, 0.1
NewPID = %ErrorLevel%
if NewPID = 0
{
break
}
}
假设你有一个系统,它taskkill.exe(我知道的Windows XP呢,我相信以后的所有版本做太多),您可以使用此行:
Run, %comspec% /c "taskkill /F /IM vsjitdebugger /T"
伟大的工作。我想知道为什么Process,Close不起作用,但调用taskkill呢? – 2009-10-16 01:09:04
这可能与强烈杀死进程或杀死进程所产生的进程树有关。这就是/ F和/ T标志的用途。 – 2009-10-16 10:37:26
我没有做我的计算机上安装Microsoft Visual Studio中,所以我无法测试使用的确切过程。我用notepad.exe代替。使用您发布的简单循环,我可以成功关闭10个记事本实例。
下面的代码工作在我的电脑(操作系统SP3)以关闭我不知道的notepad.exe
Process, Exist, notepad.exe
NewPID = %ErrorLevel%
if NewPID = 0
{
MsgBox, Process doesnt exist
}
else
{
MsgBox, Process exists
}
Loop
{
Process, Close, Notepad.exe
Process, wait, Notepad.exe, 0.1
NewPID = %ErrorLevel%
if NewPID = 0
{
break
}
}
Process, WaitClose, Notepad.exe
MsgBox, this works
的所有实例,如果这可能是由任何的问题的原因,但WaitClose命令不会关闭进程,它只会等待进程不再存在。
谢谢。看到我的更新2上面 – 2009-10-13 03:33:55
我刚刚升级到Windows 7,发现我有同样的问题,无法关闭进程。我的工作是在XP兼容模式下运行程序。
在Windows 7上,我必须以管理员身份运行我的AutoHotkey才能使Process,Close,iexplore.exe工作 – 2011-01-27 05:47:14
仅供参考在Windows 7上,我必须以管理员身份运行AutoHotkey以使其关闭一些任务 – 2011-01-27 05:48:24