![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
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. |
|
#2
|
|||
|
|||
|
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. |
|
#3
|
|||
|
|||
|
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. |
|
#4
|
||||
|
||||
|
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:
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 .... |
![]() |
|
|
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 |
|