elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  X q no sale la carpeta del explorer?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: X q no sale la carpeta del explorer?  (Leído 1,832 veces)
germixxx

Desconectado Desconectado

Mensajes: 26



Ver Perfil
X q no sale la carpeta del explorer?
« en: 4 Diciembre 2005, 22:17 pm »

No entiendo q hago mal, le di un monton de vueltas pero no me sale, si quiero saber el titulo de la ventana me funciona, asi:
Código:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Const WM_GETTEXT = &HD

Private Sub Command1_Click()
Dim i As Long
Dim s As String
s = String$(100, " ")
i = FindWindow("cabinetwclass", vbNullString)
Call SendMessageByString(i, WM_GETTEXT, Len(s), s)
Text1.Text = s
End Sub
pero cuando quiero saber la carpeta me sale vacio, el codigo me quedo asi:
Código:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Const WM_GETTEXT = &HD

Private Sub Command1_Click()
Dim i As Long
Dim s As String
s = String$(100, " ")
i = FindWindow("cabinetwclass", vbNullString)
i = FindWindowEx(i, ByVal 0&, "WorkerW", vbNullString)
i = FindWindowEx(i, ByVal 0&, "Rebarwin32", vbNullString)
i = FindWindowEx(i, ByVal 0&, "ComboBoxEx32", vbNullString)
i = FindWindowEx(i, ByVal 0&, "combobox", vbNullString)
i = FindWindowEx(i, ByVal 0&, "edit", vbNullString)
Call SendMessageByString(i, WM_GETTEXT, Len(s), s)
Text1.Text = s
End Sub
pero no funciona :-\ , si alquien me puede dar una manito :)


En línea

NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: X q no sale la carpeta del explorer?
« Respuesta #1 en: 5 Diciembre 2005, 00:35 am »

no entiendo lo q keres hacer
podrias explicarte un pokito mas ??


En línea

germixxx

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: X q no sale la carpeta del explorer?
« Respuesta #2 en: 5 Diciembre 2005, 00:53 am »

Lo q quiero hacer es identificar las ventanas del explorer y saber en q carpeta esta ubicado. Por ejempo si tenes una ventana del explorer abierta en "c:\german" q en el text1 aparezca "c:\german". Lo maximo q eh logrado es q aparezca el titulo de la ventana en este caso "german"
En línea

NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: X q no sale la carpeta del explorer?
« Respuesta #3 en: 5 Diciembre 2005, 22:06 pm »

Bueno, eso se podria hacer si tienes la opcion "Mostrar la ruta completa en la barra de titulo" (Herramientas>Opciones de carpeta>Ver)

En ese caso si podrias ver todo, pero de otra forma la verdad no se me ocurre :S


Saludos.-
En línea

germixxx

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: X q no sale la carpeta del explorer?
« Respuesta #4 en: 5 Diciembre 2005, 22:32 pm »

MMMM de esa forma funcionaria pero es demasiado rebuscado, ya q si no tenes la opcion activada t manda error :'(. La forma q estoy intentado identifica la ventana y va escalando hacia las "subventanas" hasta llegar al cuadro de texto donde dice la direccion(edit es su classname). De todas formas tmb lo necesito para internet explorer q despues de hacer el de explorer comun solo le tengo q cambiar la primera llamada findwindow ya q los classnames de las "subventanas" hasta llegar el cuadro de texto de la direccion son los mismos, y el metodo de mostrar la ruta completa sobre la ventana fallaria x q cuando entras a una pagina en el internet explorer en la barra de titulo sale el titulo de la pagina no la direccion pagina en si

Este es el codigo q no entiendo donde falla, cuando empiezo a identificar subventanas con FindWindowEx me devuelve la cadena vacia.
Código:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Const WM_GETTEXT = &HD

Private Sub Command1_Click()
Dim i As Long
Dim s As String
s = String$(100, " ")
i = FindWindow("cabinetwclass", vbNullString)
i = FindWindowEx(i, ByVal 0&, "WorkerW", vbNullString)
i = FindWindowEx(i, ByVal 0&, "Rebarwin32", vbNullString)
i = FindWindowEx(i, ByVal 0&, "ComboBoxEx32", vbNullString)
i = FindWindowEx(i, ByVal 0&, "combobox", vbNullString)
i = FindWindowEx(i, ByVal 0&, "edit", vbNullString)
Call SendMessageByString(i, WM_GETTEXT, Len(s), s)
Text1.Text = s
End Sub

Para dar una idea necesito este codigo para grabar las paginas abiertas y las rutas de las ventanas del explorer, matar el explorer y despues reabrir las paginas y las ventanas de explorer con sus rutas correspondientes.
En línea

Slasher-K


Desconectado Desconectado

Mensajes: 1.477


Ver Perfil
Re: X q no sale la carpeta del explorer?
« Respuesta #5 en: 7 Diciembre 2005, 16:12 pm »

Mira la función GetWindowModuleFileName, te devuelve la ruta de acceso del proceso que creó la ventana especificada.

Para enumerar las ventanas usa EnumWindows. No tengo tiempo sino posteo un ejemplo, pero busca en google que hay muchos ejemplos (creo que el la web de guille hay varios, de hecho).

Saludos.

P.D: Siento estar pasando poco por el foro pero me quedé sin inet y hasta que no vengan a instalarme inet en casa estoy aislado de la red  :'(.
En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
germixxx

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: X q no sale la carpeta del explorer?
« Respuesta #6 en: 8 Diciembre 2005, 19:28 pm »

Bueno... supongo q lo de GetWindowModuleFileName no va a funcionar ya q si devuelve el procesos q creo la ventana va a delvolverme "explorer.exe". De todas formas voy a probarlo haber como va, creo q la unica manera de hacerlo es leer el cuadro de texto q dice el path del explorer, identificando el hwnd del textbox y haciendo sendmessage con WM_GETTEXT(pero no se donde falla mi codigo :'(). Igual voy a probar lo de GetWindowModuleFileName. Lo de enumwindows creo q no lo voy a necesitar ya q identifico la primera ventana(findwindow) con la clase "cabinetwclass" grabo el texto(la direccion) mato la ventana, identifico otra ves la primera ventana(findwindow) con la clase "cabinetwclass" mato la ventana y asi sucesivamente hasta q no encuentre mas ventanas. Igual voy  a intentar tu metodo Slasher-K, mucha gracias, despues posteo resulatados
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Es oficial: Internet Explorer 9 sale el 14 de marzo
Noticias
Novlucker 0 1,587 Último mensaje 9 Marzo 2011, 20:22 pm
por Novlucker
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines