Verificando se existe uma janela aberta
Para verificar se existe uma janela aberta podemos usar a API - FindWindow. A função FindWindow retorna o identificador da janela cuja nome da classe e nome da janela coincida com um valor string informado na função.
A declaração da função é a seguinte:
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
A função é encontrada na livraria User32 e funciona no Windows 95/98/Me /NT.
Vamos mostrar como usar a função FindWindow para verificar se uma janela esta aberta:
|
- No formulário padrão insira uma caixa de texto - para informar o nome da janela a verificar e um botão de comando que irá disparar a função.
- Insira o código para declarar a função API no formulário. (observe que neste caso usamos a palavra Private antes de declare)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
- Agora no evento Click do botão de comando - command1 - informe a função passando como parâmetro o nome da janela que quer verificar. Neste caso o nome deve ser identico ao da título da janela senão ela não será localizada.
Private Sub Command1_Click() If FindWindow(vbNullString, Text1.Text) Then MsgBox "Existe uma janela aberta com o nome de : " & Text1.Text End If End Sub |
Veja abaixo o resultado para a nossa calculadora
Até a próxima. dica..