繁体   English   中英

使用TestStack.White获得Caret职位

[英]Get Caret position with TestStack.White

我正在使用White获取Microsoft Word窗口和文档作为文本框,如下所示:

Application a = Application.Attach(0x0000AC34);
Window w = a.GetWindow("Document1 - Word", InitializeOption.WithCache);
TextBox doc = w.Get<TextBox>(SearchCriteria.ByControlType(ControlType.Document));

有没有办法获得插入符号的位置? 我对屏幕坐标和文本中的位置都感兴趣。

理想情况下,我正在寻找White东西。

如果没有,我知道我可以依靠AutomationElementTextPattern即。

TextPattern tp = doc.AutomationElement.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
TextPatternRange[] selectionRanges = tp.GetSelection();
// etc...

这样做有什么弊端吗? 我应该考虑更好的选择吗?

有没有一种方法可以访问IUIAutomationTextPattern2接口?

您将无法在TestStack.White中执行此操作,因为TestStack.White仅包装了托管的UIAv2 API。 使用FlaUI,您将能够执行此操作,因为它们具有UIAv2和UIAv3的软件包。 这是他们围绕UIAv3 COM dll编写的包装

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM