Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: AlxSpy en 28 Marzo 2011, 05:24 AM

Título: Obtener/modificar propiedades de ventanas externas
Publicado por: AlxSpy en 28 Marzo 2011, 05:24 AM
hola me podrian decir que apis necesito para obtener propiedades de las ventanas padres e hijas (textbox,formulario,botones) de otros programas , y poder modificar esas propiedades?
por ahora he conseguido:

-enumwindows
-enumchildwindows
-enablewindow
Título: Re: Obtener/modificar propiedades de ventanas externas
Publicado por: raul338 en 28 Marzo 2011, 14:33 PM
Si queres obtener caption de esas ventanas, GetWindowText
Para obtener tamaños: GetWindowRect

Para muchas de las propiedades conocidas, SendMessage y muchas constantes que dependen de cada control.

Algo que (creo) no se puede saber en algunos controles, es el backColor por ejemplo, ya que este se hace en el WM_PAINT y no es una propiedad publica
Título: Re: Obtener/modificar propiedades de ventanas externas
Publicado por: AlxSpy en 28 Marzo 2011, 16:40 PM
hola gracias, weno las propiedades mas comunes de las que kisiera obtener info son estas:

1-hwnd         obtener(enumchildwindows, enumwindows)                                                      *LISTO
2-visible          obtener : (falta),        asignar-cambiar : (showwindow) ventanas padre, hijas
3-top               obtener: (getwindowrect) ventana padre,hija,      asigar-cambiar : (falta)
4-left               obtener: (getwindowrect) ventana padre,hija,      asignar-cambiar : (falta)
5-height           obtener:  (getwindowrect) ventana padre,hija,     asignar-cambiar : (falta)
6-width            obtener: (getwindowrect) ventana padre,hija,      asignar-cambiar : (falta)
7-caption-text  obtener: (getwindowtext),      asignar-cambiar: (setwindowtext) solo ventana padre

8-enable   obtener: (falta),                    asignar-cambiar: (enablewindow) ventana padre, hijas


Las apis para obtener/modificar caption solo se puede aplicar a ventanas padres, si saben de una api para obtener/modificar caption de ventanas hijas (command, label) ponganla.


-algo mas... , como podria emular el motodo unload de vb6 para cerrar una ventana?, intente usar sendmessage con el mensaje SYS_COMMAND y SC_CLOSE y logre cerrar una ventana, pero algunas ventanas como la del block de notas muestran al intentar cerrar ese cuadro de dialogo: "¿desea guardar los cambios? si no?" , y eso impide que se cierre la ventana , habra alguna api que lo haga a la fuerza?


weno eso es todo lo que he conseguido me falta la mitad, les agradeceria si me pudieran ayudar con la mitad restante.
Título: Re: Obtener/modificar propiedades de ventanas externas
Publicado por: raul338 en 28 Marzo 2011, 16:47 PM
Para asignar el Top, left, rigth y Heigth tenes MoveWindow o SetWindowPos

Para obtener el enabled tenes "Not (GetWindowLong(hwnd, GWL_STYLE) AND WS_DISABLED)"

El caption para commandButton funciona el SetWindowText, sino podes enviar el mensaje WM_SETTEXT (creo)

Para obtener el visible es IsWindowVisible, o con GetWindowLong(GWL_STYLE) y WS_VISIBLE
Título: Re: Obtener/modificar propiedades de ventanas externas
Publicado por: AlxSpy en 28 Marzo 2011, 16:59 PM
ya esta todo completo gracias raul338.