Pués como lo que pone en el asunto, ¿me pueden decir el método más simple de buscar una ventana en la barra de inicio y mandarla al primer plano? Supongo que será con el handle de la ventana o algo pero no me sale. Gracias de antemano :)
dPix. Felices fiestas!
He encontrado lo que buscaba:
Private Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Private Sub Command3_click()
Dim iret, THandle As Long
THandle = FindWindow(vbEmpty, "Nombre de la ventana")
iret = BringWindowToTop(THandle)
End Sub
Pero, ¿sabéis si hay alguna función integrada en VB para hacerlo?
usa la api FindWindow
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Sub Command1_Click()
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
'Nombre de la ventana
Ret = "Nombre de la ventana"
'Búsca la ventana
WinWnd = FindWindow(vbNullString, Ret)
If WinWnd = 0 Then MsgBox "kp2 no la encontré ...": Exit Sub
'te la muestra
ShowWindow WinWnd, 0
ShowWindow WinWnd, 1
End Sub
se supone que solo basta con escribir "ShowWindow WinWnd, 1", pero aveces no lo hace correctamente por eso agrego "ShowWindow WinWnd, 0"
Yo decía que lo integrara VB, pero ya está arreglado con el que dije. Gracias de todas formas :D
dPix