![]() |
![]() |
| 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
|
||||
|
||||
|
Si tienes el código, modifícalo.
Si quieres cambiar texto desde una app externa con WM_SETTEXT, piensa que hasta que no se cree el diálogo no podrás enviar mensajes y que el dialogo puede resistirse al cambio porque tiene su propia función de tratamiento de mensajes. Otra opción es hacer un subclassing cambiando lpDialogFunc, eso lo puedes hacer con un hook a la API DialogBoxParamA con código inyectado. Una Ultima Opción es hacer un escaner de la memoria del proceso para detectar la cadena que pretendes cambiar. El cambio tiene que ser en idéntica longitud de caracteres o menor, terminada en cero. Nunca mayor. Si lo que pretendes es cambiar varios comportamientos del cuadro de dialogo, la mejor opción es el subclassing. Saludos. |
|
#2
|
||||
|
||||
|
Me han comentado que una opción es liberar a la aplicación de mi depurador y luego enviarle el texto, cosa que me valdría porque es lo único que tiene que hacer, pero eso tiene un pero ¿Como hago para saber cuándo enviar el texto? ¿Un timer? No se me ocurre como. Cuando desatacheo un depurador ¿Iría al mismo evento que cuando terminó el proceso o son eventos diferentes?
Las opciones que me indicas me sobrepasan de largo . Última edición por aguml fecha: 04-05-2020 a las 20:34:39. |
|
#3
|
||||
|
||||
|
Cita:
Saludos. |
|
#4
|
||||
|
||||
|
Pero no entiendo algo. Supongamos que creo un Hook a esa función ¿Como sabría cuando terminó de mostrar la ventana para enviar el texto?
|
|
#5
|
||||
|
||||
|
Un ejemplo de Hook que vi fue esto:
Código PHP:
|
|
#6
|
||||
|
||||
|
Dado que se trata de una aplicación externa, la técnica es un hook a la API mediante inyección de código en una dll (puede ser inyección directa pero es más complejo). Este tipo de hook intercepta la API, es decir, tu código es la misma API con lo que lo sabes todo. Tienes un tutorial aquí.
Saludos. |
|
#7
|
||||
|
||||
|
Dado que se trata de una aplicación externa, la técnica es un hook a la API mediante inyección de código en una dll (puede ser inyección directa pero es más complejo). Este tipo de hook intercepta la API, es decir, tu código es la misma API con lo que lo sabes todo. Tienes un tutorial aquí. Ahora me doy cuenta de que ese enlace ya lo conocías desde junio de 2014
Saludos. |
|
#8
|
||||
|
||||
|
Vale gracias, de momento estoy intentando desatachearme del proceso y tengo un problema, cuando lo hago me da Error 5 que es "Acceso denegado". El inicio de la funcion donde creo el proceso que voy a depurar es así:
Código PHP:
Código PHP:
![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Enviar datos a PHP y leer resultados (pagina ajena) | dosher81 | Delphi para la web | 7 | 04-06-2018 07:16:00 |
| problema texto de varios edit a otro edit | rafaelon | Varios | 2 | 29-07-2017 22:49:02 |
| comparar un texto de un listbox con un texto de un edit | juaarias | Varios | 1 | 04-10-2011 01:13:10 |
| Delphi 7.0 y MySql, Enviar informacion de ventana a ventana | gozi | Conexión con bases de datos | 2 | 03-04-2006 05:28:41 |
| Enviar texto a la ventana abierta | Mr.Vaka | Varios | 4 | 28-11-2005 18:57:31 |
|