0

我在笔记本电脑上本地使用了许多便携式应用程序,如果我在关闭 Windows 时将其中一些打开,它不会正确关闭它们,并且某些应用程序不会保存它们的设置。我正在尝试在自动热键脚本中使用 taskkill 选项,该脚本将在 Windows 关闭时执行,并将关闭正确打开的便携式应用程序。

我正在使用这个脚本:

#SingleInstance, force 
#Persistent 
DllCall("kernel32.dll\SetProcessShutdownParameters", UInt, 0x4FF, UInt, 0)
OnExit , closepgs 
return 
closepgs: 
If (A_ExitReason="Shutdown" or A_ExitReason="Logoff") 

{
Run, taskkill.exe /F /IM uTorrent.exe
}

ExitApp`

但是当我关闭 Windows 时,我收到这个 taskkill.exe 错误:

“应用程序未能正确初始化(0xc0000142)。单击确定以终止应用程序”

如果我像这样在脚本之外使用taskkill代码,它可以正常工作:

^!Home:: 
Run, taskkill.exe /F /IM uTorrent.exe

但是如果我在脚本中使用它,我会收到 taskkill.exe 错误。

知道为什么会发生此错误吗?

我有 Windows XP Pro SP3。

4

1 回答 1

1

使用Process, Close而不是taskkill.exe

Process, Close, uTorrent.exe

从 Windows Vista 及更高版本开始,似乎不允许进程在关闭阶段生成新进程。快速网络搜索产生的唯一来源是这个
另一方面,使用本机功能而不是调用程序几乎总是更可取的。特别是在使用 AHK 时,我建议始终寻找内置函数。

于 2013-07-15T23:18:17.903 回答