Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   Ocultar la ventana de una aplicación externa (http://www.forosdelweb.com/f69/ocultar-ventana-aplicacion-externa-372606/)

Skalitiko 20/02/2006 13:47

Ocultar la ventana de una aplicación externa
 
Alguien sabe como es posible esconder desde vb 6.0 la ventana de otra aplicación, por rjrmplo, esconder la ventana del Explorer desde mi aplicación VB.

LeandroA 20/02/2006 19:01

Hola primero obten su classname y o el titulo de la ventana luego asi sacas su luego con FindWindow obtienes su hwnd y luego con ShowWindow le asignas la vista(en este caso 0 osea invisible)

Este ejemplo es para el explore su class name es "ExploreWClass"

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()
Dim hwnd As Long
hwnd = FindWindow("ExploreWClass", vbNullString)
'MsgBox hwnd
ShowWindow hwnd, 0&
End Sub


Saludos

Skalitiko 21/02/2006 09:59

Gracias por tu ayuda. No conocia esa api, hasta el momento estaba posicionando la ventanta fuera de los rangos visibles de la pantalla.

Muchas gracias

antonio2005pe 22/02/2006 09:26

hola me pregunto si es k se puede, en vez de minimizar como hago k mi aplicaccion tome la ventana dentro de un form?

LeandroA 22/02/2006 11:44

Lo puedes hacer con el api setparent

fijate este ejemplo tambien con el explorer

Cita:

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long




Private Sub Form_Load()
Dim hwnd As Long
hwnd = FindWindow("ExploreWClass", vbNullString)
SetParent hwnd, Me.hwnd
ShowWindow hwnd, vbMaximizedFocus
End Sub
Claro que de esta forma primero deve estar ejecutandose el explorer(la ventana)
si no tuvieras que ejecuarlo y mediante su pid puedes y un par de apis mas puedes conseguir su hwnd

antonio2005pe 24/02/2006 02:36

Cita:

Iniciado por LeandroA
Lo puedes hacer con el api setparent

fijate este ejemplo tambien con el explorer


Claro que de esta forma primero deve estar ejecutandose el explorer(la ventana)
si no tuvieras que ejecuarlo y mediante su pid puedes y un par de apis mas puedes conseguir su hwnd

Muchas Gracias por el ejemplo :) pero como obtengo el classname de la ultima aplicaccion o ventana k tuvo el foco antes de esta?

LeandroA 24/02/2006 11:37

que es lo que quieres hacer exactamente y asi te pongo un ejemplo

Saludos


La zona horaria es GMT -6. Ahora son las 08:21.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.