~UI Automationで画面操作捕捉!その2~ UI Automation with PowerShell 奮戦記 5日目

UI Automation*1で遊ぼう!

UI Automation の画面操作の捕捉機能を使用した画面ハードコピーの自動化に挑戦しています。Windowsの標準実装のみ、PowerShellのみで動作させることを目指しています。

UI Automationでの画面操作の捕捉をPowerShellで出来るようにEventタイプを.Net Framworkで実装しました。
実装した開発ライブラリ、共通で使用するスクリプトについては以下を確認してくださいね。
https://amon52280sub.hateblo.jp/entry/2019/01/23/032420


フォーカス移動のイベントを実装してみました。
$uia.StartEvent()の中でフォーカス移動イベントの登録を実行しています。
PowerShell Version3(管理者権限)で実行してみる。

# UI Automation 共通ファンクションを組み込む
. .\UIA.ps1

# 初期化
$uia = UIA_Init

# UI AUtomation イベント捕捉
Register-ObjectEvent -InputObject $uia -EventName UIChange -Action {
  Write-Host $args[0].current.name
}

# イベントスタート
$uia.StartEvent()

実行結果

テキスト エディター
ファイル(F)
編集(E)
書式(O)
表示(V)
ヘルプ(H)

フォーカスが移動するたび表示しますね。他のイベントも実装していきたいと思います。

*1:ここでのUI AutomationはSystem.Windows.Automationのことです