![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Échale una mirada a la función SetWindowsHookEx con las opciones wh_CallWndProc o wh_CallWndProcRet. A ver si te funciona con una rutina de retrollamada CallWndProc o CallWndRetProc, respectivamente.
Última edición por Al González fecha: 26-07-2008 a las 16:24:30. |
|
#2
|
||||
|
||||
|
Vamos por partes ¿que es lo que quieres conseguir?
![]() Porque, aun interceptando todas las llamadas a la API DrawTextW, no podrás evitar que una aplicación utilice otra función diferente para mostrar texto, ya sea otra API, DirectX, etc ... o incluso una función propia que sea capaz de dibujar texto sin necesidad de ninguna librería externa. Yo creo que lo mejor es que te centres en un objetivo mas pequeño, por eso te preguntaba al principio ¿realmente que quieres hacer? De todos modos, si sigues queriendo interceptar todas las llamadas a una función de la API windows no te lo pondrá fácil, tendrás que recurrir a la inyección de código en todos los procesos que se ejecuten en el equipo. Busca información sobre "API hooking" y veras que no es algo sencillo, incluso puede que esas 300 lineas de las que hablabas al principio se queden cortas ![]() |
|
#3
|
|||
|
|||
|
sip, perdona, omití un detalle importante, tengo un hook global wh_cbt, en principio, puedo pillar todas las ventanas al crearse o activarse. Las que menos me interesan envian un mensaje EM_STREAMIN que si podría supongo capturar con wndproc(hwnd,msg,wparam,lparam), msg es de suponer que tendría el valor EM_STREAMIN. Las que me interesan de verdad(pero de la buena) son las que emplean drawtext y textout, y es ahi donde no veo ni por donde agarrarlo, supongo que cuando va a usar estas funciones se envie un
WM_PAINT a la ventana que se pueda pillar con wndproc, pero ni idea de por donde empezar. SIP temo que es lo que quiero, obtener las coordenadas y la cadena antes de que sea usada por drawtext o textout, de esa forma podré tanto modificar el texto como su posición en pantalla o alguna otra cosa. |
|
#4
|
|||
|
|||
|
Drawtext y textout, el resto de las api, directx, ... no me interesan de momento, con eso voy servido para una temporada.
![]() |
|
#5
|
|||
|
|||
|
ando por aqui, http://msdn.microsoft.com/en-us/libr...18(VS.85).aspx, con la ayuda de delphi y el sdk win32 que complementa la ayuda y buscando por internet pero na de na, no veo el por donde.
Al González; wndprocret no creo que me sirva parece que lo devuelve cuando ya ha sido procesado. Con wndproc podria pillar un wm_paint, pero ahi me quedo, ¿como se si es por un drawtext y lo que escribe? |
|
#6
|
|||
|
|||
Mas claro lo tengo, todos los procesos que me interesa monitorizar usan gdi32.dll y la funcion TextOutW, sigo agradeciendo la atención, las ideas y los links de ayuda, veo que es jodido. También j..de desistir. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| DrawText en TCustomPanel | epalacios | OOP | 2 | 29-05-2008 09:24:12 |
| canvas y TEXTOUT | underwater | Gráficos | 2 | 31-03-2008 21:44:55 |
| Implementacion de Callback | walito | Varios | 6 | 26-09-2006 20:03:22 |
| WaveInOpen y Callback | walito | API de Windows | 6 | 08-07-2006 00:06:58 |
| Marshall y CallBack´s | Edgar Perez | Providers | 0 | 03-05-2006 16:39:55 |
|