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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  App.PrevInstance
VACA
LIMEIRA
SP - BRASIL
Postada em 20/10/2005 14:15 hs            
quando eu uso isso geralemente é pra fechar o segundo programa que foi aberto....
entretanto eu gostaria q ao invés de fechar o segundo programa q o primeiro ganhasse foco, ou seja q pulasse na tela, mais ou menos como quando a gente tenta abrir 2 msn's ao mesmo tempo sem nenhum add-on, ele naum fecha o segundo mais faz o primeiro maximizar e ficar em primeiro plano..
Alguem sabe como fazer isso?

"Quando estou fraco, aí então é que sou Poderoso"
     
Rogério.
KALORÉ
PR - BRASIL
ENUNCIADA !
Postada em 20/10/2005 15:51 hs         
Olá, Vaca.
 
Coloque este código num módulo, ele faz isso que você quer.
 
Public Const GW_HWNDPREV = 3
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
Public sTrab As String * 255
Public Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Sub Main()
    If App.PrevInstance Then
        ActivatePrevInstance
    Else
        Load frmFORMULARIO
    End If
End Sub

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, GW_HWNDPREV)
   result = OpenIcon(PrevHndl)
   result = SetForegroundWindow(PrevHndl)
   End
  
End Sub
É bem provável que isto lhe sirva.
 
Rogério.
   
Página(s): 1/1    

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