Windows: Como iniciar a aplicação quando os outros acabamentos

2

Eu gostaria de iniciar um aplicativo automaticamente, sempre que algum outro aplicativo terminar. É mesmo possível realizar?

Minha situação específica é: O usuário se conecta à área de trabalho remota e, em seguida, deve ocorrer alguma janela do Iexplorer com uma página específica.

Até agora, encontrei a solução usando start /wait :

start /wait prog1.exe
start /wait prog2.exe

mas esta solução não é boa o suficiente já que o primeiro programa deve ser sempre aberto através do script cmd.

Eu tentei executar essa tarefa usando o agendador de tarefas, mas infelizmente não consegui encontrar uma interrupção ou atividade adequada que atendesse às minhas necessidades.

Obrigado por qualquer ajuda.

    
por botajzorek 28.04.2014 / 08:37

2 respostas

0

Você fez 90% do caminho para uma solução. Se o método de conexão for via RDP, pode-se iniciar um programa quando um usuário efetuar login. Coloque os comandos "start" em um arquivo .BAT / .CMD e através da aba "Advanced" do RDP, invoque-o como parte do login do usuário.

    
por 03.05.2014 / 08:02
0

Se o PowerShell for uma opção, você poderá usar o Agendador de Tarefas para iniciar esse script em uma janela oculta do PowerShell.

Isso aguardará o início do processo mstsc.exe e, em seguida, abra notepad.exe quando cada processo mstsc.exe for encerrado.

# The action to be performed for every new process event.
$action = {
    $target = $EventArgs.NewEvent.TargetInstance
    if($target.Name -eq 'mstsc.exe') {
        # Run action as a job in order to handle multiple new calc.exe
        # processes. Otherwise, the script will be blocked waiting for
        # the first calc.exe to exit.
        $jobScript = {
                param($ProcessId) 
                (Get-Process -Id $ProcessID).WaitForExit()
                notepad.exe
            }
        Start-Job -ScriptBlock $jobScript -ArgumentList $target.ProcessId
    }
}

$query = @"
Select * From __InstanceCreationEvent within 3
Where TargetInstance ISA 'Win32_Process'
"@

Register-WMIEvent -query $query -Action $action -sourceIdentifier "New Process" 
    
por 06.05.2014 / 23:15