Controls

AutoIt v3の新しい特徴の1つは特定のタイプのウィンドウコントロールを直接操作する機能です。  ウィンドウ上に見えるほとんど全てのものは何らかの種類のコントロールです。ボタン、リストボックス、エディットフィールド、スタティックテキストは全てコントロールです。 メモ帳は実際のところ単なる大きな「エディット」コントロールなのです! AutoItのコントロール直接操作により、ただキーストロークを送信するよりもより信頼性の高い自動化が実現されます。

 

注意:AutoItは標準のMicrosoftのコントロールのみ操作できます。一見、標準のMSコントロールのように見える独自のカスタムコントロールで書かれたアプリケーションは操作できません。試してみてください!

 

AutoIt Window Info Tool を使って興味のあるウィンドウにマウスをあてると、現在マウスが指しているコントロールの情報が得られます。  コントロールの情報は下記の様な複数の方法で与えられます:

Control...()コマンドの場合にはいつでも ControlIDパラメータを使えると思っていいでしょう。ほとんどのものは上記のいずれの方法でも使うことができます。どの方法を選択するかはあなたの好みとAutoIt Window Info Toolによって得られた情報によって変わってきます。一般的にはControl IDを使うのが最も好ましい方法で、他の方法はControl IDが利用できなかったり、ユニークでない場合に使用します(通常は各テキストのスタティックテキストは同じControl IDを持っているので、そういったコントロールを操作するには他の方法のどれかを使う必要があります)。

 

Control ID

コントロールIDはウィンドウが各コントロールに与える内部の数値的識別子です。一般的にはコントロールを識別するためのもっとも良い方法です。AutoIt Window Info Tool以外にも視覚障害者用のスクリーンリーダーやMicrosoft製のツール/APIでコントロールIDを取得することができます。

 

ClassNameNN

Microsoftの標準的なコントロールはそれぞれ"ボタン"や"エディット"といった"クラス名"を持っています。AutoItではこれはコントロールの"インスタンス"と組み合わせて "ClassNameNN"という方法を提供しています。もしボタンがいくつかついた単純なダイアログがあったとすると一般的にはそのボタンは"Button1"、"Button2"、"Button3"という風に参照されます。

この方法はControl IDが使えない場合に便利です(例えばスタティックテキストやカスタムコントロールの場合)。

 

Text

AU3Infoがコントロール上のテキストを取得していることに気づいたでしょうか。例えばNextというボタンでは&Nextというテキストが見えます−&は次の文字に下線が引かれることを表し、メニューやコントロールではよく目にするものです。もしそうしたければこのテキストを"ClassNameNN"の代わりに使ってコントロールを識別することができます−ただしたくさんのコントロールが同じテキストを持っている場合には問題になるでしょう。

 

コントロール操作のための関数一覧についてはMethod Reference \ Window Management \ Controlsの下部を参照。