windows 寻找外部窗口的位置?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/5778703/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Finding external Window's position?
提问by Jeff
How can I find the Screen-relative position of a Window Handle in Delphi? (X,Y)
如何在 Delphi 中找到窗口句柄的屏幕相对位置?(X,Y)
回答by RRUZ
try using the GetWindowRect
function
尝试使用该GetWindowRect
功能
var
lpRect: TRect;
begin
GetWindowRect(Edit1.Handle,lpRect);
ShowMessage(Format('%d,%d',[lpRect.Left,lpRect.Top]));
end;
回答by karlphillip
Use FindWindow() to retrieve the handle of the window and and GetWindowRect() to get the coordinates:
使用 FindWindow() 检索窗口句柄并使用 GetWindowRect() 获得坐标:
var
NotepadHandle: hwnd;
WindowRect: TRect;
begin
NotepadHandle := FindWindow(nil, 'Untitled - Notepad');
if NotepadHandle <> 0 then
GetWindowRect(NotepadHandle, WindowRect)
end;
回答by ramses
keep in mind, if the window(app) is minimized, you will get some values for the Rect like these (-32000, -32000, -31840, -31972, (-32000, -32000), (-31840, -31972))
请记住,如果窗口(应用程序)被最小化,您将获得 Rect 的一些值,如下所示 (-32000, -32000, -31840, -31972, (-32000, -32000), (-31840, -31972))