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

问题描述 投票:3回答:1

我有一个简单的登录屏幕窗体应用程序,我通过适配器控制该应用程序现在我想找到文本框和按钮的坐标,我尝试使用右键单击文本框控件并从其属性中选择位置后的坐标但那没起效。所以我想找到合适的位置,因为窗口表单应用程序表单大小可以在运行时更改。那么,我怎样才能找到窗体坐标。

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

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

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

我想在Windows窗体中找到文本框和按钮位置。我在谷歌搜索并找到了一些间谍++工具,但我不确定这是否是我需要的,如果是,那么任何人都可以指导我如何使用它来找到一个简单的窗口形式应用程序中的位置。

c# winforms desktop-application
1个回答
3
投票

好的,我可以看到你正在使用WinApi函数,所以我不会深入研究它,只是给你一些想法。

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

这个句柄是窗口句柄。接下来,您可以使用EnumChildWindows枚举它的子窗口 - 例如面板或其他控件

现在剩下的就取决于您的GUI架构。您可能在面板中有编辑和按钮,因此您必须搜索该面板的子窗口。您可以将控件放在主窗口上 - 这样您就可以搜索该窗口的子控件。

接下来,当您找到您感兴趣的控件时,您可以获得更多信息,例如使用GetWindowRect

© www.soinside.com 2019 - 2024. All rights reserved.