Como Evitar a Execução Dupla de um Programa no Visual Basic

Para impedir que um usuário abra o mesmo programa mais de uma vez simultaneamente, você pode utilizar a propriedade PrevInstance do objeto App no Visual Basic.

O Que é App.PrevInstance?

O objeto App contém informações sobre a aplicação, incluindo a propriedade PrevInstance, que retorna:

  • True → Se já houver outra instância do programa em execução.
  • False → Se for a única instância ativa.

Código para Bloquear Execuções Duplicadas

Adicione o seguinte código no evento Load do formulário principal ou na Sub Main do projeto:

If App.PrevInstance Then
    MsgBox "Esta aplicação já está sendo executada em outra janela.", vbExclamation, "Aviso"
    End
End If

Explicação

  1. If App.PrevInstance Then: Verifica se já existe uma instância ativa do programa.
  2. MsgBox: Exibe um aviso informando ao usuário.
  3. End: Finaliza a execução da segunda instância.

Melhorando a Experiência do Usuário

Caso queira destacar a janela já aberta em vez de apenas exibir uma mensagem, pode-se usar APIs do Windows, como FindWindow e SetForegroundWindow, para trazer a primeira instância para frente.


Posts Similares