Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用TestStack获取插入符号位置。白色_C#_Ui Automation_Microsoft Ui Automation_White Framework - Fatal编程技术网

C# 使用TestStack获取插入符号位置。白色

C# 使用TestStack获取插入符号位置。白色,c#,ui-automation,microsoft-ui-automation,white-framework,C#,Ui Automation,Microsoft Ui Automation,White Framework,我正在使用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
获取Microsoft Word窗口,并将文档作为文本框,如下所示:

Application a = Application.Attach(0x0000AC34);
Window w = a.GetWindow("Document1 - Word", InitializeOption.WithCache);
TextBox doc = w.Get<TextBox>(SearchCriteria.ByControlType(ControlType.Document));
这样做有什么缺点吗?有更好的选择吗?
有没有办法访问
IUIAutomationTextPattern2
接口?

您将无法在TestStack.White中执行此操作,因为TestStack.White仅包装托管的UIAv2 API。有了它,您就能够做到这一点,因为他们有一个用于UIAv2和UIAv3的包。以下是他们围绕UIAv3 COM dll编写的示例。

您将无法在TestStack.White中执行此操作,因为TestStack.White仅包装托管的UIAv2 API。有了它,您就能够做到这一点,因为他们有一个用于UIAv2和UIAv3的包。下面是他们围绕UIAv3 COM dll编写的示例

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