Ver Mensaje Individual
  #4  
Antiguo 21-08-2007
fonx fonx is offline
Miembro
 
Registrado: feb 2007
Posts: 54
Reputación: 18
fonx Va por buen camino
Bueno chicos/as, vamos con resultados. Antes de nada tengo q decir q no use delphi sino VB.NET por el motivo de que en casa no tengo ningun compilador de Delphi y estas pruebas no las puedo hacer aquí en el trabajo, queria conseguir el 7 pero como q de un día para otro así q hice pruebas con el vb porque la API de Windows sigue siendo la misma así como las llamadas, no? Bueno, si el moderador cree que no puedo postear pq no lo hice en Delphi...tendré q acatar la decision, aunq no voy a poner código salvo las llamadas.

Primero decir q...FUNCIONO!!!! ...pero luego añadir que....DEJO DE FUNCIONAR!!!

Mi bucle es el siguiente (mas o menos en pseudocodigo):

sCurLine es un string, con espacio reservado para 80 caracteres.
k, i son enteros, comento q antes eran long pero no funcionaba y era pq tienen q ser enteros de 32 bits, y en la arquitectura win32 integer ya es de 32 bit por lo que no hay q usar long, q en win32 son de 64 bits, por lo menos para vb.net

k = SendMessage(un_handle, EM_GETLINECOUNT, 0, 0)
esto siempre fuciona, siempre me devuelve un número, y en cada ejecución crece más, logico, cada vez hay más líneas.

Para i = 0 Hasta k - 1
SendMessage(un_handle, EM_GETLINE, i, sCurLine)


Bueno, el caso es que cuando lo probe por primera vez funcionó, me cargaba en sCurLine la línea correspondiente. Entonces seguí adelante y puse código para guardar el string en un fichero y como no me ponia bien los saltos de línea fui haciendo pruebas debug-stop-debug-stop-debug-stop....hasta q de repente veo que ya no me guarda en el string nada a pesar de coger la información desde la primera linea. sCurLine en cada pasada del bucle es un string de 80 blancos.

Reinicié el ordenador y volvi a depurar y funcionó, pero al parar y volver a depurar dejó de funcionar y ya no lo he vuelto a conseguir desde entonces. No se porque no funciona.

¿Puede ser que la aplicación q intento analizar detecte lo que estoy haciando y cambie la forma de trabajar? No es una aplicación instalada como administrador.
¿Puede ser que con tantas llamadas al SendMessage algo bloquee el acceso?

¿Que diferencia habría con WM_GETTEXT? Hasta lo que lei sobre la API, todos los componentes q aparecen en una ventana realmente son ventanas tb, podría coger todo el texto del tirón en lugar de línea a línea?

Espero no ser muy pesado, gracias de antemano si alguien me puede ayudar.
Responder Con Cita