Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-01-2007
albertoP albertoP is offline
No confirmado
 
Registrado: ene 2006
Posts: 35
Poder: 0
albertoP Va por buen camino
Thumbs up Capturar Texto de una ventana especifica

Hola

Estoy intentando copiar el texto una ventana que yo escoja por ejemplo la de Internet Explorer.

Código:
procedure TForm1.Button1Click(Sender: TObject);
var mango:THandle;
buffer:PChar;
i:Integer;
begin

//Obteniendo el Handle de la ventana
mango:=FindWindow('IEFrame',nil);

if mango <> 0 then
begin

showMessage('ok');
i:=sendmessage(mango,WM_GETTEXTLENGTH,0,200);
form1.Memo1.Lines.Add(string(buffer));

end
else
begin

showMessage('no');

end;
No he logrado capturar ningun texto de la ventana, espero que me puedan ayudar desde ya muchas gracias..
Responder Con Cita
  #2  
Antiguo 04-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
¿que intentas hacer?

Analicemos tu código:
Código Delphi [-]
var 
  mango:THandle;
  buffer:PChar;
  i:Integer;
begin
  // Por ahora vamos bien, obtenemos el handle de una ventana del explorer
  mango:= FindWindow('IEFrame',nil); 
  if mango <> 0 then
  begin
    // Mostramos "OK" si obtenemos el handle de un ventana del explorer
    ShowMessage('ok');
    // Aqui intentas obtener la longitud del titulo de la ventana, 
    // pero el parametro 200 no se para que lo usas (segun la documentacion debe ser siempre 0)
    i:=sendmessage(mango,WM_GETTEXTLENGTH,0,200);
   // Aqui añades algo a un memo, pero ¿que tienes en la variable buffer?
    form1.Memo1.Lines.Add(string(buffer));
  end else
  begin    
    ShowMessage('no');
end;

No entiendo lo que quieres conseguir. Aunque el código que utilizas me recuerda a este otro hilo. ¿Lo sacaste de ahi?
Responder Con Cita
  #3  
Antiguo 04-01-2007
albertoP albertoP is offline
No confirmado
 
Registrado: ene 2006
Posts: 35
Poder: 0
albertoP Va por buen camino
Smile Capturar los campos de usuario y password

Hola Seoane muchas gracias y Felicidades, me ha dado la curiosidad por saber como puedo obtener textos de componentes de otras ventanas.

Saludos
Responder Con Cita
  #4  
Antiguo 04-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
¿Has visto este hilo?

http://www.clubdelphi.com/foros/show...22&postcount=4
Responder Con Cita
  #5  
Antiguo 04-01-2007
albertoP albertoP is offline
No confirmado
 
Registrado: ene 2006
Posts: 35
Poder: 0
albertoP Va por buen camino
Smile Uhhh

Seoane ya resolvi el problemita ahora me pasa lo siguiente: cuando el internet explorer va a navegar me pide usuario y password entonces automaticamente le envio el mensaje para obtener los textos pero me devuelve solo el usuario el password no.

Es posible tambien obtener el password mediante alguna API o hay que hacerlo de otra manera...?

Otra pregunta

Supongamos que:

Una ventana tiene el siguiente titulo '
Yahoo: Bandeja de Entrada' y yo quiero buscar la palabra clave Yahoo y si la contiene entonces hago la operacion que desee?

mango:=FindWindow(nil,'Yahoo: Bandeja de Entrada');

Saludos y desde ya muchas gracias
Responder Con Cita
  #6  
Antiguo 04-01-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Password

Como normal general, Windows NO PERMITE obtener el texto de los TEdit de otras ventana que no pertenecen a la aplicación, cuando mucho menos de un Edit tipo passwd....

En fin, no se si tus intenciones son honestas, pero en todo caso puedes echar un vistazo a un programilla que hice hace algún tiempo (no es spam, o eso creo) y este si te da paswwords y todo lo que se teclee..
Ya me dirás algo...

Saludos

P.D. Lo que comenta Seoane
Cita:
sendmessage(handle,WM_GETTEXT,l+1,lParam(buffer));
ya te digo de entrada que no sirve para obtener el texto de los Edits de otras aplicaciones.

Última edición por ArdiIIa fecha: 25-02-2007 a las 17:30:09.
Responder Con Cita
  #7  
Antiguo 04-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por ArdiIIa
P.D. Lo que comenta Seoane ya te digo de entrada que no sirve para obtener el texto de los Edits de otras aplicaciones.
¿Lo probaste? Porque decir que algo no funciona, sin haberlo probado antes ...

Es verdad que la función GetWindowsText solo funciona con los controles de tu propia aplicación, pero no así el mensaje WM_GETTEXT, que funciona perfectamente con los controles de otras aplicaciones. Pero por favor Ardilla, no me creas a mi, pruebalo por ti mismo ....

En cuanto a lo de leer passwords de otra aplicación, puedes hecharle un vistazo a este código, donde convierto todos los password en edits normales.

http://www.clubdelphi.com/foros/show...16&postcount=2

Ahora piensa tu como juntar ambos códigos para obtener lo que tu quieres. Yo no pienso ayudarte mas si lo que quieres es "robar" contraseñas, si es ese tu caso lo mejor es que sigas el consejo de Ardilla e instales un keylogger.

En cuanto a lo de buscar una ventana del explorer con un texto especifico, usa la función buscar que ese tema también se trato aquí, y yo ya me canse de buscar por ti ...
Responder Con Cita
  #8  
Antiguo 04-01-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Thumbs up

Glup...

Cita:
Empezado por seoane
¿Lo probaste? Porque decir que algo no funciona, sin haberlo probado antes ...

Es verdad que la función GetWindowsText solo funciona con los controles de tu propia aplicación, pero no así el mensaje WM_GETTEXT, que funciona perfectamente con los controles de otras aplicaciones. Pero por favor Ardilla, no me creas a mi, pruebalo por ti mismo ....

Hasta el fondo.... Lo siento y te pido disculpas Seoane, me ofusqué con GetWindowText: This function cannot retrieve the text of an edit control in another application..
Lo cierto y verdad es que hace algunos meses estuve haciendo pruebas con un programa al que por desgracia tengo que suministrarle muchos datos reduntantes a diario y tenía la intención de darle esos datos de forma automática, pero para ello, también tenía que obtener algunos valores asignados en diferentes controles, y mira por donde me dió todo tipo de dificultades. Ahora no puedo decirte como solventé la situación porque el código lo tengo en el trabajo, pero en cuanto pueda lo examinaré y por supuesto, tu código funciona de primera.
Un saludo.
Responder Con Cita
  #9  
Antiguo 10-01-2007
albertoP albertoP is offline
No confirmado
 
Registrado: ene 2006
Posts: 35
Poder: 0
albertoP Va por buen camino
Muchas Gracias

Hola Seoane a pesar de que pienses que quiero robar constraseñas te estoy muy agradecido por haber contestado..."muchas gracias" al igual que a ti Ardilla.

Ah Seone sabes que solo tengo acceso a esta página , la de Adobe y Microsoft; Pero es muy facil pensar el muchacho es un vago que no quiere buscar y estas equivocado. Algunos tenemos restricciones de navegacion pero bueno tu no eres adivino para saberlo.

De todas formas muchas gracias.
Responder Con Cita
  #10  
Antiguo 10-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por albertoP
pero bueno tu no eres adivino para saberlo.
En efecto, no es adivino, así que ¿para qué presuponer que todos saben cual es tu situación particular en lugar de comentarla de antemano? Pero, por otro lado, cuando seoane te comentó que usaras la función de búsqueda, se refería a la de estos mismo foros, a los cuales, según mencionas, sí tienes acceso.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturar imagen de ventana pablo Gráficos 7 23-02-2017 10:04:42
Capturar imagen de una ventana (que no es la activa) Neftali [Germán.Estévez] Gráficos 11 29-12-2006 12:03:42
Como capturar datos de la ventana Imprimir? JuanErasmo C++ Builder 0 23-01-2006 16:39:20
capturar datos de una ventana emergente smendo PHP 2 01-12-2004 10:50:29
Capturar ventana activa y guardarla StartKill Gráficos 4 15-10-2004 16:45:31


La franja horaria es GMT +2. Ahora son las 01:43:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi