スクリーンセーバー中にtaskkillを実行

タスクスケジューラでの設定に注意google

スクリーンセーバーを有効にすると何もしない状態、アイドル状態のチェックが以下のVBSでできる。特に、スクリーンセーバー中に実行したい場合は以下のVBSが使えます。こちらからいただきました。m(_ _)m

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery ("SELECT * FROM Win32_Process WHERE Name LIKE '%.scr'")

Set WshShell = WScript.CreateObject("WScript.Shell")
If colProcesses.Count = 0 Then
    '    Wscript.Echo "No Screensaver Event"
Else
   'スクリーンセーバー中は以下を実行する
   WshShell.Run "taskkill /im putty.exe /f",0,True
End If

このVBSをタスクスケジューラで5分ごとに起動します。スクリーンセーバー中で無いと、つまり、使っている時は、何もしません。(コメントアウトWscript.Echo “No Screensaver Event”)。

タスクスケジューラのプログラムの開始のコマンドは、vbsなんでフルパスで指定する。コマンドプロンプトで以下のを実行し、VBS拡張子が登録されていないとファイル名だけでは実行できない。

C:\Users\take>set | findstr EXE
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC