Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Anteros en 17 Abril 2008, 21:12 pm



Título: saber q ventana tiene el foco
Publicado por: Anteros en 17 Abril 2008, 21:12 pm
Holas gente  :D... una duda ...como puedo saber q ventana(cualquier ventana de windows) tiene el foco???...osea la ventana q tiene su barra de titulo de color azul...y q un msgbox me diga el nombre de la ventana q actualmente tiene el foco

Una ventana tiene el foco cuando estamos  en ella xq iniciamos el prog o por q la restauramos o maximizamos despues de estar minimizada en la barra de tareas ;D

gracias por todo de antemano ::)


Título: Re: saber q ventana tiene el foco
Publicado por: cobein en 17 Abril 2008, 22:16 pm
Private Declare Function GetForegroundWindow Lib "user32" () As Long


Título: Re: saber q ventana tiene el foco
Publicado por: seba123neo en 17 Abril 2008, 23:21 pm
Hola,pone un timer:

Código:
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Sub Form_Load()
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
Static lHwnd As Long
Dim lCurHwnd As Long
Dim sText As String * 255
lCurHwnd = GetForegroundWindow
If lCurHwnd = lHwnd Then Exit Sub
lHwnd = lCurHwnd
If lHwnd <> hwnd Then
Caption = "Ventana Activa: " & Left$(sText, GetWindowText(lHwnd, ByVal sText, 255))
Else
Caption = "Ventana Activa: Form1"
End If
End Sub

saludos.