Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ocultar la ventana de una aplicación externa

Estas en el tema de Ocultar la ventana de una aplicación externa en el foro de Visual Basic clásico en Foros del Web. 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....
  #1 (permalink)  
Antiguo 20/02/2006, 13:47
Avatar de Skalitiko  
Fecha de Ingreso: febrero-2005
Mensajes: 81
Antigüedad: 19 años, 2 meses
Puntos: 0
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.
  #2 (permalink)  
Antiguo 20/02/2006, 19:01
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
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
  #3 (permalink)  
Antiguo 21/02/2006, 09:59
Avatar de Skalitiko  
Fecha de Ingreso: febrero-2005
Mensajes: 81
Antigüedad: 19 años, 2 meses
Puntos: 0
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
  #4 (permalink)  
Antiguo 22/02/2006, 09:26
 
Fecha de Ingreso: agosto-2005
Ubicación: Peru-Lima
Mensajes: 225
Antigüedad: 18 años, 8 meses
Puntos: 0
hola me pregunto si es k se puede, en vez de minimizar como hago k mi aplicaccion tome la ventana dentro de un form?
  #5 (permalink)  
Antiguo 22/02/2006, 11:44
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
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
  #6 (permalink)  
Antiguo 24/02/2006, 02:36
 
Fecha de Ingreso: agosto-2005
Ubicación: Peru-Lima
Mensajes: 225
Antigüedad: 18 años, 8 meses
Puntos: 0
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?
  #7 (permalink)  
Antiguo 24/02/2006, 11:37
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
que es lo que quieres hacer exactamente y asi te pongo un ejemplo

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:14.