![]() |
leer cadena de otra aplicacion
hola foro,
Estoy realizando una aplicación en la que necesito leer una cadena de texto de otra aplicación. Sólo puedo hacerlo a través de la pantalla, es decir, mi aplicación correrá en segundo plano, y al pulsar el boton central del ratón sobre una palabra en la pantalla, debería capturarla. Es una forma muy parecida a como trabaja el diccionario inglés-español, Babylon: te posicionas encima de una palabra y la lees. Alguna sugerencia? gracias |
Gancho global de ratón
¡Hola a todos!
Sí. Podrías lograr el objetivo utilizando un gancho de ratón a nivel del sistema y ciertas funciones de la API de Windows que te permiten averiguar qué objeto visual se encuentra en cierta posición de la pantalla. De la ayuda (archivo Win32.hlp), te recomiendo los temas Hooks (con la función SetWindowsHookEx creas el interceptor de clics) y EnumChildWindows, que junto con otras funciones te permite determinar que “ventana” (edit, label, button, etc.) se encuentra donde ocurrió el evento del ratón. Además estoy seguro de que en estos mismos foros encontrarás algo de material al respecto. Buena suerte y no dejes de informarnos sobre tus avances. Un abrazo enganchado. Al González. :) |
Hola, jar.
¡Bonito programa, ese Babylon! Viene genial para traducir inmediatamente lo que no sabes (aunque no sólo el ing-esp, puedes instalarle glosarios adicionales). A lo que tú pides, me parece que lo que hace Babylon (a parte de lo que dice Al González) es capturar la pantalla, y mediante algún algorritmo detectar qué está escrito en pantalla. Yo lo he probado con dibujos (BMPs) y en algunos también ha leído las palabras. Por cierto, si la fuente es Tahoma a tamaño 8 a veces las "d"s (letra d minúscula) las lee como "cl" (cosas de ese algorritmo que te comento). Salu2, y que te vaya bien con el proyecto. |
La franja horaria es GMT +2. Ahora son las 00:22:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi