タグ

2017年1月14日のブックマーク (2件)

  • C#で他アプリケーションを操作するための基礎知識 - Sanwa Systems Tech Blog

    こんにちは、大昔はVC++Windowsプログラミングをしていたwakです。先日業務でC#のコードから他のWindowsアプリを強制的にコントロール(メニューをクリックしたり、キー操作を行ったりといった手動操作をエミュレートしてアプリを制御する)して処理を自動化する必要に迫られ、頑張ってそんな感じのコードを書きました。今日はそのための基礎知識とサンプルコードをご紹介します。 もくじ Windowsの仕組み ウィンドウハンドルとメッセージ メッセージの内容 電卓を例にしたサンプル は操作できません Windowsの仕組み……Windowsはウィンドウでできている まずWindowsでは、 ウィンドウ(の外枠) ボタン テキストボックス ラベル デスクトップ タスクバー といった要素はすべて「ウィンドウ」です。要するに「ウィンドウ」という基底クラスを継承したオブジェクトが様々な外見や機能を

    C#で他アプリケーションを操作するための基礎知識 - Sanwa Systems Tech Blog
    cpw
    cpw 2017/01/14
    自動操作のための仕組み
  • WindowsアプリのUI自動操作をUI Automation PowerShell Extensionで行う

    UI Automation PowerShell Extensionは、.NET Frameworkに付属するUI オートメーションライブラリのPowerShellラッパーで、UI自動操作(UIオートメーション)をPowerShellで記述できる。これにより、GUIしかないアプリの定型作業をスクリプト化したり、UIテストを行ったりすることができる。だいぶ前に書こうと思ったのだけど、思い出したのでようやく書くことにした。 例まずは例として、Windowsに付属する「電卓」を使って1 + 2を計算してみるスクリプトを書くと以下のようになる。 $process = Start-Process calc -PassThru $window = Get-UiaWindow -ProcessId $process.Id $window | Get-UiaButton -Name '1' | Invok

    WindowsアプリのUI自動操作をUI Automation PowerShell Extensionで行う
    cpw
    cpw 2017/01/14
    自動操作