Oculto.vbs
Código vb:
Ver originalConst HIDDEN_WINDOW = 12
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = HIDDEN_WINDOW
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")
errReturn = objProcess.Create _
("NoCerrar.cmd", null, objConfig, intProcessID)
NoCerrar.cmd (en este caso el notepad.exe)
Código batch:
Ver original@echo off
:inicio
set ERRORLEVEL=
tasklist | findstr notepad.exe
if ERRORLEVEL==1 start notepad.exe
rem delay de 5 sg
@ping -n 5 127.0.0.1 > null
goto inicio
Oculto.vbs, lanza de forma oculta el script nocerrar.cmd, que se encarga de monitorizar en un bucle si notepad.exe (por poner un ejemplo) esta abierto, si no lo esta, lo abre. Mero un delay de 5 sg, pero se puede quitar esa linea
Y voilá ...
Pero para hacer algo más eficiente, elegante y que no consuma demasiada cpu lo mejor seria programar un servicio que vigilara el proceso que desees que este siempre ejecutandose
salu2