C#-查找Winform应用程序的坐标

时间:2019-03-29 13:01:32

标签: c# winforms desktop-application

我有一个简单的登录屏幕Windows窗体应用程序,现在我要通过适配器控制该应用程序,我想找到文本框和按钮的坐标,在右键单击文本框控件并从中选择位置后,我尝试使用坐标它的财产,但没有用。所以我想找到合适的位置,因为Windows窗体应用程序表单大小可以在运行时更改。因此,我如何找到Windows窗体的坐标。

我尝试使用文本框和按钮控件的属性中提供的坐标,但是这些坐标不起作用。

IntPtr childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intFirstNameCoordX,intFirstNameCoordY));

这就是我要查找窗口的方式。

我想在Windows窗体中找到文本框和按钮的位置。我正在谷歌上搜索,找到了一些Spy ++工具,但是我不确定这是否是我所需要的,如果有人那么请我指导我如何使用它在简单的窗口表单应用程序中查找位置。

1 个答案:

答案 0 :(得分:3)

好的,我可以看到您正在使用WinApi函数,因此,我不会更深入地介绍这一点,

首先,您可以获取主窗口句柄。您可以按进程(枚举进程窗口)或其标题获取句柄。如果要按标题获取句柄,可以使用FindWindow

此句柄是窗口句柄。接下来,您可以使用EnumChildWindows

枚举子窗口-例如面板或其他控件。

现在,其余的取决于您的GUI架构。您可能在面板中有编辑和按钮,因此您必须搜索该面板的子窗口。您可能只是在主窗口上放置了控件-因此,您只搜索该窗口的子控件。

接下来,找到感兴趣的控件后,您可以使用例如GetWindowRect

获得更多信息。