Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

antonio123

Não deixar duas instancias de um sistema abrirem na mesma maquina

Recommended Posts

Boa tarde,

 

Fiz um sistema de importação de arquivos e tive o seguinte problema:

 

Caso o usuário abrisse duas vezes o sistema, as duas instâncias do sistema importavam o mesmo arquivo, ou seja, importava em duplicidade.

 

Eu gostaria de saber se há como fazer o seguinte: Na hora de abrir o sistema, verificar se ja existe uma instancia aberta. Caso exista, naõ deixar abrir o sistema novamente, enquanto a outra instancia for fechada.

 

Alguem consegue me ajudar?

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada nesta rotina:

 

 

Private Sub Form_Load()

Dim cap As String

 

If App.PrevInstance Then

' Informe ao usuário que já existe uma instância rodando.

MsgBox "Já existe uma instância desta aplicação em execução.", vbCritical

 

' ativa outra instância

cap = Me.Caption

Me.Caption = ""

AppActivate cap

 

' Sai.

Unload Me

End If

End Sub

 

Com certeza vai te ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa rotina ajudou muito.... não utilizei ela pois estou com o vb.net, mas através dela encontrei outra rotina que resolveu meu problema...

Segue....

 

 

Dim emExecucao As Boolean

 

1- verificando quantos elementos o array possui , se possuir mais de um então existe duas instâncias

emExecucao = Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName).Length > 1

 

'OU

 

2- verificando o limite superior do array , se for maior que zero então existe duas instâncias

emExecucao = Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName).GetUpperBound(

0) > 0

 

 

Para mais detalhes, segue um link legal....

 

http://www.macoratti.net/vbn_ins1.htm

 

 

VLWWWWWW

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.