Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2013
delphos1942 delphos1942 is offline
Registrado
NULL
 
Registrado: nov 2013
Posts: 3
Poder: 0
delphos1942 Va por buen camino
tipo Hwnd y string

Hola!

a ver si me guiais un poco:

Tengo un string con un numero hexadecimal, como este : 0002025A
Este numero corresponde a un handle de una ventana,

necesito convertir ese string en una variable tipo hwnd para poder llamar a la funcion getwindowtext, pasarle el hwnd y que me devuelva el titulo de esa ventana.

He intentado con un typecast, pasarlo a traves de longint, y nada me ha funcionado.

Ideas?

gracias.
Responder Con Cita
  #2  
Antiguo 05-11-2013
delphos1942 delphos1942 is offline
Registrado
NULL
 
Registrado: nov 2013
Posts: 3
Poder: 0
delphos1942 Va por buen camino
Ok, ya lo he conseguido, el tipo hwnd es en realidad un entero sin signo por lo que

var
handle: longword;
ventana:hwnd

begin
handle:=strtoint('$'+stringdondeestaelhexadecimal);
ventana:= HWND(handle);
end


ya tengo un handle a esa ventana.

PEROOO

no logro que me lea el titulo de la ventana.

getwindowtext(ventana,titulo,10)

siendo ventana un hwnd y titulo un pchar.
Responder Con Cita
  #3  
Antiguo 05-11-2013
delphos1942 delphos1942 is offline
Registrado
NULL
 
Registrado: nov 2013
Posts: 3
Poder: 0
delphos1942 Va por buen camino
ACTUALIZO solucionado
************

Bueno pues parece que el getwindowtext no funciona, hay que hacer otro metodo:

var
buffer:string;
i:integer;
ventana:hwnd; // valor que tenemos del anterior ejemplo

begin
i:=sendmessage(ventana,WM_GETTEXTLENGTH,0,0); // obtengo la longitud del titulo de ventana
setlength(buffer,i); // la defino
i:=sendmessage(ventana,wm_gettext,i+1,Lparam(pchar(buffer))); // obtengo el titulo en buffer
setlength(buffer,i); // otra vez defino
showmessage(buffer); // muestro texto
end;


Gracias a todos los que me han leido.

saludos.
Responder Con Cita
  #4  
Antiguo 05-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola delphos1942.

Recién leo este hilo y primero que nada, te agradezco por publicar la solución que encontraste (cosa que no todos hacen).

Por otro lado me extraña la dificultad que te presenta el uso de la función GetWindowText, en mi caso funciona correctamente.

Ejemplo:
Código Delphi [-]
...
var
  H: HWND;
  Title: array[0..254] of Char;
begin
  H := FindWindow(nil, 'Sin título: Bloc de notas');
  GetWindowText(H, Title, GetWindowTextLength(H)+1);
  ShowMessage(Title);
end;

Aprovecho también para pedirte que cuando agregues código a tu mensaje utilices las etiquetas correspondientes para hacerlo mas legible, el uso es:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Parametros de Tipo String DasGrun OOP 3 19-03-2010 00:17:35
Verificar si un HWND esta con focus? Alejo15x API de Windows 1 16-03-2010 10:58:29
Convertir State a tipo String Marcela Varios 8 05-10-2006 20:00:38
Longitud maxima de un array tipo string!! cristian_abb Varios 5 25-07-2006 23:53:39
Como saber el tipo de componentes a partir de un string? Roger OOP 2 02-04-2004 13:21:48


La franja horaria es GMT +2. Ahora son las 13:23:06.


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