sábado, 24 de outubro de 2009

Verificando um processo existente

Fala, galera!!

Certa vez precisei desenvolver uma console application que seria schedulada no windows para se executada a cada 10 minutos.

No entanto, eu não poderia permitir que uma nova execução se iniciasse enquanto a anterior não estivesse finalizada.
Para isso, foi necessário verificar se o processo anterior havia sido finalizado.

Segue o código para a verificação do processo.


'Obtem a lista de processos com nome "NomeDaAplicacao"
        Dim proc() As Process
        proc = Process.GetProcessesByName("NomeDaAplicacao")
        'Se existir mais de um processo com o mesmo nome, a ultima instância é cancelada.
        If proc.Length > 1 Then
            'Exibe alerta para o usuário
            MsgBox("O Programa já está sendo executado!")
            'Encerra a última instância aberta
            proc(0).Kill()
        End If


Um abraço e até a próxima!!

Nenhum comentário:

Postar um comentário