Ver Mensaje Individual
  #1  
Antiguo 30-03-2008
pai_delpher pai_delpher is offline
Miembro
 
Registrado: mar 2008
Posts: 11
Reputación: 0
pai_delpher Va por buen camino
Tamaño de Ventana de Windows

Saludos a todos en la comunidad.

Quiero saber la posición de una ventana de windows (la ventana del Windows Live Messenger), investigando supe de varias funciones de la API:

GetWindowPlacement y GetWindowRect

Ya probé con este código y variaciones en los Left, Right, Top y Bottom, pero no me muesta las coordenadas reales, no entiendo en que se basan las posiciones que recibo, por favor ayudenme a enterder como funcionan estas funciones.

Código Delphi [-]
Var
 VMess : HWND;
 Tam   : TRect;
 H, W  : Integer;
 Lugar : WindowPlacement;

begin
VMess := FindWindow(nil, 'Windows Live Messenger');
GetWindowRect(VMess, Tam);
//W := Tam.Right - Tam.Left;
//H := Tam.Bottom - Tam.Top;
//Lugar.length := sizeof(Lugar);
GetWindowPlacement(VMess, @Lugar);
W := Lugar.rcNormalPosition.Right - Lugar.rcNormalPosition.Bottom;
H := Lugar.rcNormalPosition.Left - Lugar.rcNormalPosition.Top;
Button1.Caption := IntToStr(W) + ' ; '+ IntToStr(H);
//Form1.Caption :=

Como verán lo intente de varias formas, pero no logro sacarlo. Mi objetivo es obtener la posición al iniciar y actualizala al moverla.

Desde ya Muchas Gracias.
Responder Con Cita