Exacto, es tan simple como agregar una tarea programada que ejecute un .bat:
tarea.batWscript.exe "C:\comprobar.vbs"
comprobar.vbsset objshell = createobject("wscript.shell")
objshell.run "C:\apagar.bat", vbhide
apagar.bat
REM By PiToLoKo
REM Foro.ElHacker.Net
:Bucle
ping localhost -n 900
>nul
If !Reproductores! EQU 0
( echo Reinicio en proceso...
shutdown -s -t 30
echo Reinicio cancelado, El reproductor de video se esta ejecutando.
cls
)
tasklist /fi "IMAGENAME eq
%reproductor%"
| findstr ".exe"
>nul
)
Sólo hacen falta esos 3 elementos:
tarea.bat ejecuta un VBS.
comprobar.vbs ejecuta el apagar.bat, oculto.
apagar.bat se queda ejecutándose oculto todo el rato, comprobando si hay algún reproductor activo. Si no, apaga.
Ahora, lo que puedes hacer es hacer que se ejecute automáticamente "tarea.bat":
Agregándolo al Registro:
reg ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v tarea /d "C:\tarea.bat"
Con schtasks:
schtasks /create /SC ONLOGON /TN "Tarea" /TR "C:\tarea.bat"
Esto es el resumen de todo lo que ha dicho
pitoloko . Con los 3 elementos y agregando el primero de ellos al Registro o a Tareas Programadas, no deberías tener ningún problema. Por cierto, cómo haces para detectar si el PC está inactivo?
PD:
pitoloko, sé que ERRORLEVEL es una variable, pero a mí me dio error cuando puse:
y tuve que poner:
Ahora, no sé por qué no me funcionó.
Saludos!