![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola sesarsoftware.
Otra opción, agrega un Edit, un ComboBox, tres Buttons dentro de un Panel, debajo un RichEdit y proba este ejemplo:
Si no sabes que clases puede contener la aplicación, quizá te interese comprobar en la función CallbackFn si el control es un Edit Control Logicamente es fundamental escribir en el edit textualmente el título de la ventana cuyo handle queremos obtener. También habrá controles de los cuales no podamos recibir o enviar texto alguno. Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#2
|
||||
|
||||
|
Gracias ecfisa, tiene buena pinta, ahora me pongo a probar esta tecnica.
Un saludo. |
|
#3
|
||||
|
||||
|
Hola ecfisa.
Muy bien para localizar los controles, estaria bien obtener sus nombres ademas del THandle. Pero...no me va el leer texto con TfrBusca.btnAppToREClick(Sender: TObject);
R siempre devuelve 0 (cero) y se queda en el repeat; tambien pasa en la funcion TfrBusca.btnREToAppClick(Sender: TObject); Lo he hecho de otra forma (mas simple) y me mete en un listbox, la aplicacion(proceso), sus formularios y sus respectivos controles Añadir un listbox y un richedit
y apara usarlo
Teniendo el handle del control ¿Como podemos obtener su clase, Tedit, Tcombox, etc, si no me funciona GetClassName? Uso Delphi 2010 y windows 7 64. ¿Se te ocurre algo? Gracias Edito: Lo mejor seria obtener el objeto ¿Se puede? asi seria mas facil, se podria usar richedit1.text := Trichedit(TObject).Text Última edición por cesarsoftware fecha: 11-12-2012 a las 12:27:51. |
|
#4
|
||||
|
||||
|
Hola cesarsoftware.
Cita:
Cita:
Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#5
|
||||
|
||||
|
Ooohhhh
![]() He descargado y ejecutado tu aplicacion y ocurre lo mismo, R devuelve 0,eniff!! ¿Como va lo de obtener el objeto ? |
|
#6
|
||||
|
||||
|
Cita:
![]() Pero hay un pequeño problema, no precisamente los nombres obtenidos se enmarcarán dentro de las definiciones de Delphi (Tedit, Tcombox, TMemo, etc) es por eso que te comenté lo de verificar si era un Edit Control. Por ejemplo al obtener desde Mozilla Firefox (situado en este hilo), se tienen las clases MozillaWindowClass, GeckoPluginWindows y GeckoFPSandBoxChildWindow sobre las cuales yo .![]() Con el Bloc de notas ![]() Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#7
|
||||
|
||||
|
Gracias por seguir el tema.
La funcion SendMessage(handle, WM_GETTEXT, SizeOf(Buffer), Integer(@Buffer)); No me rellena el buffer con el "texto" que tenga el control. (visto que si es un Tedit como el de notepad, entonces devuelve su texto, genial.) pero si uso SendMessage(handle, WM_SETFOCUS, SizeOf(Buffer), Integer(@Buffer)); (ya, ya se que aqui el buffer pinta poco, no se donde buscar los parametros para WM_SETFOCUS) Da el foco perfectamente a cada control ![]() Creo que sera un tema de delphi 2010 mas que de S.O., tengo que probar tu aplicacion en un xp |
|
#8
|
||||
|
||||
|
Un momento.....
Esto si funciona, con TBitBtn, con Edit, con ComboBox, con StatusBar...
Pregunto, ¿Seguro que estan bien los parametros WParam y LParam para la funcion SendMessage con GETTEXT? Porque entiendo que guindos coge un area de memoria sabiendo en LParam Integer(@Buffer) y su tamaño en WParam SizeOf(buffer) SendMessage(handle, WM_GETTEXT, SizeOf(Buffer), Integer(@Buffer)); Voy a probar con PostMessage |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Leer parámetros que manda otra aplicación | NPIdea | API de Windows | 2 | 14-09-2010 11:20:22 |
| leer y escribir en archivos .txt o cualquier otra extension | jafi666 | Varios | 1 | 13-03-2008 23:14:19 |
| Leer texto de otra aplicación | erika.martinez | API de Windows | 17 | 04-05-2007 00:45:15 |
| leer cadena de otra aplicacion | jar | OOP | 2 | 05-02-2007 20:18:12 |
|