Я использую 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
.
Если нет, я знаю, что могу положиться на AutomationElement
и TextPattern
, т. Е.
TextPattern tp = doc.AutomationElement.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
TextPatternRange[] selectionRanges = tp.GetSelection();
// etc...
Есть ли какие-либо недостатки в этом?Есть ли лучшие варианты, которые я должен рассмотреть?
Есть ли способ получить доступ к интерфейсу IUIAutomationTextPattern2
?