Нахождение позиции внешнего окна?

Как найти относительное положение экрана дескриптора окна в Delphi? (X,Y)

2 ответа

Решение

Используйте FindWindow(), чтобы получить дескриптор окна и GetWindowRect(), чтобы получить координаты:

var 
 NotepadHandle: hwnd;
 WindowRect: TRect;
begin
 NotepadHandle := FindWindow(nil, 'Untitled - Notepad');

 if NotepadHandle <> 0 then
   GetWindowRect(NotepadHandle, WindowRect)

end;

Попробуйте использовать GetWindowRect функция

var
  lpRect: TRect;
begin
   GetWindowRect(Edit1.Handle,lpRect);  
   ShowMessage(Format('%d,%d',[lpRect.Left,lpRect.Top]));
end;

Имейте в виду, если окно (приложение) свернуто, вы получите некоторые значения для Rect, подобные этим (-32000, -32000, -31840, -31972, (-32000, -32000), (-31840, -31972))

Другие вопросы по тегам