我正在创建一个批处理文件程序,如果你打开一个mspaint.exe,如果它空闲10秒钟,程序将自动关闭。我创造了这个:
@echo off
:Start
tasklist /FI "IMAGENAME eq mspaint.exe" | findstr "mspaint.exe" >nul
IF "%ERRORLEVEL%" == "0" GOTO Running
IF "%ERRORLEVEL%" == "1" GOTO NotRunning
:Running
***::Check if idle***
GOTO Terminate
:NotRunning
GOTO EOF
:Terminate
timeout 5
taskkill /im mspaint.exe /f
ECHO Paint has been terminated due to inactivity
PAUSE
:EOF
EXIT
我无法找到空闲语法(似乎它不存在),还有另一种方法可以使空闲时间工作吗?因为这是我第一次创建批处理文件,所以我真的需要帮助。
答案 0 :(得分:0)
不是您想要听到的答案,而是您需要的答案。监视另一个活动进程的唯一方法是安装一个窗口挂钩,但这需要更低级别的语言(C或C ++)。
如果这不能让您失望,请先从Microsoft Hooks Overview开始,然后发布更多问题。祝你好运(你可能需要它)。
答案 1 :(得分:0)
感谢您的帮助,但这似乎很复杂。我使用了SCHTASKS而且它有效:)