Buenas tardes a todos¡
Me pueden dar una mano con alguna respuesta y orientacion con una consulta
Necesito mantener una aplicacion constantemente en los clientes para poder hacer unas tareas, con la ventaja de evitar
el programador de tarea de windows
y quisiera poder adaptar el siguiente programa a un servicio y poder tratarlo como tal y no tener que ejecutarlo de la manera
watchdog "C:\Windows\notepad.exe"
program watchdog; uses Windows, SysUtils, PsApi, ShellApi; function CuantosSon(Path: String): Integer; var Procesos: array[1..1024] of DWORD; Needed, i: DWORD; Process: THandle; ModName: array[0..MAX_PATH] of Char; begin Result:= 0; if EnumProcesses(@Procesos,SizeOf(Procesos),Needed) then begin for i:= 1 to (Needed div Sizeof(DWORD)) do begin Process := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, FALSE,Procesos[i]); if Process <> 0 then begin if GetModuleFileNameEx(Process,0,ModName,SizeOf(ModName)-1)>0 then begin if StrIComp(ModName,PChar(Path)) = 0 then inc(Result); end; CloseHandle(Process); end; end; end; end; begin if ParamCount < 1 then Exit; if not FileExists(ParamStr(1)) then Exit; while TRUE do begin if CuantosSon(ParamStr(1)) < 1 then ShellExecute(0,nil,PChar(ParamStr(1)),nil,nil,SW_SHOW); // Aqui pones el retardo que quieras Sleep(1000); end; end.
Desde ya muchas gracias a todos y saludos¡