Cerrar carpeta.

18/07/2003 - 17:35 por Perico de los palotes | Informe spam
Hola, pues lo que pretendo hacer es que un programa creado con
Visual Basic cierre una carpeta normal y corriente de windows.

Conozco el nombre de la carpeta, lo que hago es como si fuese una
aplicación, cualquiera, pero no funciona.

Hago lo siguiente:

hwin = FindWindow(vbNullString, NombreCarpeta)
If hwin <> 0 Then ' si el manejador es distinto de 0 existe.
MsgBox ("LA APLICACION ESTA ABIERTA")
' Y la podemos cerrar mandando el mensaje de WM_CLOSE .
Devolucion = SendMessage(hwin, WM_CLOSE, 0, 0&)

Else
' si el manejador es igual a 0 la aplicación esta cerrada.
MsgBox ("LA APLICACION ESTA CERRADA")
End If

Si alguien sabe como hacerlo agradecería su ayuda.
 

Leer las respuestas

#1 Leonardo Azpurua
19/07/2003 - 18:58 | Informe spam
"Perico de los palotes" escribió en el mensaje
news:#lp$
Hola, pues lo que pretendo hacer es que un programa creado con
Visual Basic cierre una carpeta normal y corriente de windows.

Conozco el nombre de la carpeta, lo que hago es como si fuese una
aplicación, cualquiera, pero no funciona.

Hago lo siguiente:

hwin = FindWindow(vbNullString, NombreCarpeta)
If hwin <> 0 Then ' si el manejador es distinto de 0 existe.
MsgBox ("LA APLICACION ESTA ABIERTA")
' Y la podemos cerrar mandando el mensaje de WM_CLOSE .
Devolucion = SendMessage(hwin, WM_CLOSE, 0, 0&)

Else
' si el manejador es igual a 0 la aplicación esta cerrada.
MsgBox ("LA APLICACION ESTA CERRADA")
End If

Si alguien sabe como hacerlo agradecería su ayuda.




Hola, Perico:

Igual me equivoco, o no entiendo tu pregunta, pero creo que las "carpetas"
son objetos pasivos. Es decir, una carpeta no está "abierta" o "cerrada".
Una aplicación, como Mi PC o el Explorador puede estar presentando el
contenido de una carpeta, pero la carpeta en sí no tiene la más remota idea
(no tiene como tener ideas) de si está abierta o cerrada.

Si lo que quieres es cerrar una ventana de explorador en la cual se muestra
la carpeta, lo único que debes hacer es reemplazar en tu código SendMessage
por PostMessage.

Salud!

Leonardo
[MS MVP - VB]

Preguntas similares