是否可以使用任何编程语言(可能使用Microsoft SDK)获取任何应用程序的窗口中的UI元素的屏幕位置?如果是这样,你能否提供一个例子的指导?谢谢你,这几天让我感到痛苦!
请考虑它是外部应用程序。例如,如果我打开MS word,我的应用程序应该能够获得“Bold”按钮的屏幕位置。
到目前为止,我相信我需要使用钩子。
答案 0 :(得分:2)
要获得外部应用程序中控件的位置,您基本上必须执行以下步骤:
EnumWindows
EnumChildWindows
GetWindowRect
这方面的细节取决于你正在努力实现的目标。
另外,您可以将Windows自动化API(http://msdn.microsoft.com/en-us/library/dd561932(VS.85).aspx)与GetCurrentPorpertyValue(UIA_BoundingRectanglePropertyId, result)
一起使用。
我不知道是否有这个函数的托管包装器,但你可以回退到P / Invoke。
还要了解Windows SDK(http://msdn.microsoft.com/en-us/library/ms727247.aspx)附带的UI Spy工具。