Como garantir que dois programas sejam sempre executados? (onde um depende do outro)

0

Eu preciso executar dois programas. Um depende do outro para obter informações durante sua execução. Portanto, preciso garantir que o primeiro seja iniciado antes da segunda execução. Além disso, eu preciso dos programas para rodar o tempo todo em que estou logado.

Inicialmente, pensei em fazer isso com os serviços do Windows. Services me permite especificar a dependência, mas impede que os programas sejam executados, pois ambos possuem interfaces de usuário. Existe alguma outra maneira de fazer isso funcionar? Eu estou usando um script em lote por agora que dificilmente é um bom meio de fazer isso, pois só chama os programas quando eu fizer logon, mas não se eles falharem.

Eu não posso recompilar / editar os programas para fazê-los falar com um serviço também.

Tudo bem que esses programas iniciem somente quando o usuário estiver conectado. Não preciso que eles sejam executados se o usuário não estiver conectado.

    
por Carel 14.08.2013 / 13:41

1 resposta

0

Eu faria isso com um arquivo .bat ou similar (embora você não goste, continue lendo :)).

Pegue seu arquivo de lote para checar se o (s) programa (s) estão rodando e se não, então carregue depois!

@echo off

tasklist /FI "IMAGENAME eq dependantProgram.exe" | find /i "dependantProgram.exe" 
IF ERRORLEVEL 1 start "" "C:\Program Files\dependantProgram.exe"
tasklist /FI "IMAGENAME eq myProgram.exe" | find /i "myProgram.exe" 
IF ERRORLEVEL 1 start "" "C:\Program Files\dependantProgram.exe"

Agora, o agendador de tarefas deve executar isso quando um usuário fizer logon e executar a cada X minutos.

    
por 14.08.2013 / 13:43