2014-07-10 45 views
1

我正在創建一個批處理文件程序,如果您打開一個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

不是你想聽到的答案,而是你需要的答案。監視另一個進程的唯一方法是安裝一個窗口鉤子,但這需要更低級別的語言(C或C++)。

如果這不會讓你失望,那麼從微軟Hooks Overview開始,併發布進一步的問題。祝你好運(你可能需要它)。

0

感謝您的幫助,但看起來很複雜。我用SCHTASKS來代替,它工作:)