Obtener/modificar propiedades de ventanas externas

Iniciado por AlxSpy, 28 Marzo 2011, 05:24 AM

0 Miembros y 1 Visitante están viendo este tema.

AlxSpy

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

raul338

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

AlxSpy

#2
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.

raul338

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

AlxSpy