USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Abrir Exe várias vezes
DaviSaba
SANTA ROSA DE VITERBO
SP - BRASIL
ENUNCIADA !
Postada em 18/11/2005 06:39 hs            
Oi ... estou com um problema. Os usuários abre o sistema 2 vezes e esta causando alguns problemas ... Tem como eu saber se o exe esta sendo executado e nao permitir que abra novamente ?
Obrigado
   
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 18/11/2005 06:46 hs            
    If App.PrevInstance Then   'verifica se ja tem uma cópia rodando
       Msgbox "Já existe uma cópia do Sistema Procalc sendo executada"
    End If

dsmn
   
Araujolin
CURITIBA
PR - BRASIL
ENUNCIADA !
Postada em 18/11/2005 07:52 hs            
Uma forma mais completa é esta, pois caso o aplicativo esteja sendo executada, minimizada ou atrás de outra janela então ele é ativado
 
Dim SaveTitle as string
If App.PrevInstance Then
SaveTitle = App.Title
App.Title = "... segunda chamada ao mesmo programa."
Me.Caption = "... segunda chamada ao mesmo programa, serei fechado"
'se for a Sub Main, a linha acima, obviamente, não existe
'as linhas abaixo fecham a segunda chamada e alternam para
'a primeira
AppActivate SaveTitle
SendKeys "% R", True
End
End If
   
VACA
LIMEIRA
SP - BRASIL
ENUNCIADA !
Postada em 18/11/2005 08:01 hs            
procura como previnstance q eu jah perguntei isso faz uns dias....
em todo caso:

Declare Function OpenIcon Lib "user32" (ByVal hwnd As Long) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName
As String, ByVal lpWindowName As String) As Long
Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long)
As Long
Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long


Private Sub ActivatePrevInstance()
  
   Dim OldTitle As String
   Dim PrevHndl As Long
   Dim result As Long
  
   OldTitle = App.Title
   App.Title = "Programa em execução"
   PrevHndl = FindWindow("ThunderRTMain", OldTitle)
   If PrevHndl = 0 Then
     PrevHndl = FindWindow("ThunderRT5Main", OldTitle)
   End If
   If PrevHndl = 0 Then
     PrevHndl = FindWindow("ThunderRT6Main", OldTitle)
   End If
  
   If PrevHndl = 0 Then
      Exit Sub
   End If
   PrevHndl = GetWindow(PrevHndl, 3)
   result = OpenIcon(PrevHndl)
   result = SetForegroundWindow(PrevHndl)
   End
    
End Sub


Sub Main()

If App.PrevInstance = True Then
   ActivatePrevInstance
End If

end sub

"Quando estou fraco, aí então é que sou Poderoso"
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página