テキストを制御するための Microsoft UIAutomation を調査していますが、役に立たないことがわかりました。私は次のようなことをする必要があります:
- キャレット位置を取得する
- この記事は、キャレットを追跡する必要があることを意味しますが、元の位置がわからない場合は機能しません....
- 特定の場所にテキストを挿入する
- を使用してフィールド全体を上書きする機能のみが見つかりまし
ValuePattern
たSetValue
- を使用してフィールド全体を上書きする機能のみが見つかりまし
- フォントの太さを設定する
- フォントの太さは読めるが設定できない
- 等
この時点までに多くの記事を読みましたが、これらの可能性を指摘するものはありません。This SO questionは私が始めるのに役立ちましたが、より深く掘り下げようとすると、答えよりも多くの質問に遭遇し続けました. MS Accessibility Automation に移動する唯一のオプションです。これは、とりわけ WPF 仮想化とうまく連携しません。
誰かが役に立つ記事を教えてくれたり、上記の欠点の例を提供してくれたりしたら、それは素晴らしいことです。ただし、情報を取得する方法はあっても情報を更新する方法にはつながらないように思われるため、現時点では希望が持てません。
編集
私はさらに掘り下げようとしましたUIAutomationClient.dll
が、実際にはこれに対するサポートはないようです。UIA は主に大まかな情報を取得してクリックするためのもののようです。実際のテキストはサポートされていません
ここに別のSOの質問があります...これと比較的似ています... UIAが私のニーズには役に立たないことを確認しているようです..
ハッキーな回避策
回避策は、UIA を使用して一般的なコンテキストを取得し、次に AutoIt SendKeys を使用することです。