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
-
If App.PrevInstance Then
: Verifica se já existe uma instância ativa do programa. -
MsgBox
: Exibe um aviso informando ao usuário. -
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.