Visual Basic - Problemas con ShowWindow

Life is soft - evento anual de software empresarial
 
Vista:

Problemas con ShowWindow

Publicado por olaia (11 intervenciones) el 05/08/2005 09:48:16
Hola!

Quiero q utilizando dos botones, uno haga q me desaparezca una ventana de un programa y q con otro boton, esa ventana vuelva a aparecer. Para ello utilizo el API ShowWindow, pasandole el handle q antes consigo mediante FindWindow.

La cosa es q ShowWindow (MihWnd, SW_HIDE) me funciona bien, es decir, la ventana me desaparece, pero luego ejecuto ShowWindow (MihWnd, SW_RESTORE) y no vuelve a aparecer la ventana. He probado cambiando SW_RESTORE por SW_SHOW, SW_SHOWMAXIMIZED... con varios, pero con ninguno vuelve a aparecer. No se pq puede ser. Ademas he comprobado y el handle q me da en las dos busquedas es el mismo y todo.

Alguien sabe q puede ser lo q me falla? Meto el codigo de los botones abajo.

Muchas gracias

Private Sub Command2_Click()
MihWnd = FindWindow("WinTV_32", "WinTV32")
Call ShowWindow(MihWnd, SW_HIDE)
End Sub

Private Sub Command3_Click()
MihWnd = FindWindow("WinTV_32", "WinTV32")
Call ShowWindow(MihWnd, SW_RESTORE)
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con ShowWindow

Publicado por MVB (2 intervenciones) el 06/08/2005 22:42:42
talvez el handle es diferente.
¿que te retorna la funcion? deberia ser 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con ShowWindow

Publicado por Eduardo (67 intervenciones) el 08/08/2005 02:46:22
Quisas te sirva esto claro no uso API pero sifunciona:

form1.show 'muestra el formulario

form1.hide 'oculta el formulario

el form1puedes cambiar por el formulario q quieras.avisame se te sirve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con ShowWindow

Publicado por olaia (11 intervenciones) el 08/08/2005 08:03:47
Respondiendo a MVB, el handle es el mismo, ya lo he comprobado. Tiene que ser otra cosa.

Y a Eduardo, la cosa es q lo que quiero ocultar y enseñar no es un formulario, es la ventana de otra aplicacion que ejecuto a traves de mi codigo.

Gracias x responderme a los dos, y si sabeis alguna solucion decidmela, por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con ShowWindow

Publicado por marco (1 intervención) el 08/08/2005 19:58:21
estas tratando de ocultar y mostrar la ventana que viene con el programa de la tarjeta capturadora de WinTV o es otra ventana que se llama igual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Para marco

Publicado por olaia (11 intervenciones) el 08/08/2005 20:06:17
Es el programa de la tarjeta, si.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Para marco

Publicado por ok (2 intervenciones) el 08/08/2005 20:22:40
lastimosamente ahora no puedo ayudarte porque no tengo acceso a mi computadora, la tendre en algunos dias mas. yo tengo ese programa WinTV2000 y esa tarjeta PCI.
pero creo que esa tarjeta da un control activex para poder manejar la tarjeta PCI y quizas tambien para manejar el programa pero no estoy seguro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con ShowWindow

Publicado por Mr. Sade (322 intervenciones) el 09/08/2005 08:41:23
probe tu codigo y a mi me funciona perfectamente, lo use con WinTV2000.
lo declare asi:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpszClassName As String, ByVal lpszWindow As String) As Long

Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Const SW_HIDE = 0
Private Const SW_RESTORE = 9
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar