pai_delpher
30-03-2008, 20:52:54
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.
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.
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.
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.