AutoIt

AutoIt /ɔːtoʊɪt/は、Microsoft Windows用のフリーウェアのプログラミング言語である。バージョン1と2では、Microsoft Windowsのプログラムの自動化スクリプトを作成するために使用されていた。これらはマクロと呼ばれることもある。バージョン3では、プログラミング言語が拡張され、より多くのことができるようになりました。

AutoIt 1 と 2 のスクリプト言語はステートメント駆動型でした。これはユーザーのコンピュータへの入力をシミュレートするように設計されていました。バージョン3以降、AutoItの構文が変更されました。現在では BASIC プログラミング言語に似ています。AutoItバージョン3は汎用プログラミング言語です。配列などのデータ型を持つことができます。

AutoIt スクリプトをスタンドアロンの実行ファイルに変換することができます。これは、AutoIt インタープリタがインストールされていないコンピュータ上で実行することができます。広範囲の関数ライブラリが利用可能です。これらは UDF(User Defined Functions)として知られています。いくつかは標準で含まれています。その他のものはウェブサイトから入手できます。これらは言語に追加の機能を追加します。AutoItには特別なエディタ、統合開発環境またはIDEがあります。これはフリーの SciTE エディタをベースにしています。コンパイラとヘルプテキストはこの特別なエディタに含まれており、開発者のための標準的な環境を提供します。



 典型的なAutoITスクリプトのスクリーンショットZoom
典型的なAutoITスクリプトのスクリーンショット

特徴

  • Windows 用 BASIC ライクな構造のスクリプト言語
  • スタンドアロン実行ファイルへのコンパイル
  • 特定のアプリケーションやアプリ用のアドオンライブラリやモジュール
  • TCPおよびUDPプロトコルをサポート
  • コンポーネントオブジェクトモデル(COM)をサポート
  • DLLファイル内の関数を呼び出す
  • コンソールアプリの実行と標準ストリームへのアクセス
  • 実行時に抽出するコンパイルファイルにデータファイルを含める
  • メッセージボックスや入力ボックスを含むグラフィカルユーザーインターフェースの作成
  • サウンドの再生、一時停止、再開、停止、シーク、サウンドの現在位置の取得、サウンドの長さの取得
  • マウスの動きをシミュレート
  • ウィンドウとプロセスの操作
  • ユーザーの入力やキーストロークをアプリやアプリ内の個々のコントロールに送信することを自動化
  • バージョン3.2.4.0からのUnicodeサポート
  • バージョン3.2.10.0から64ビットコードをサポート
  • 正規表現をサポート
  • ユーザーアカウント制御に対応
  • ライブラリによるオブジェクト指向設計



使用方法

AutoItは、Microsoft Windows用のユーティリティーソフトウェアを作成するためによく使用されています。これらのプログラムは、ルーチンタスクを自動化することができます。使用例としては、システム管理、監視、メンテナンス、ソフトウェアのインストールなどがあります。また、ユーザーのインタラクションをシミュレートするためにも使用されます。この用途では、人間のユーザーのように振る舞うAutoItスクリプトによってアプリケーションが「駆動」されます。AutoITスクリプトは、キープレスマウスクリック、タイプテキストなどを発行することができます。このようにして、アプリケーションの人間のユーザをシミュレートします。

AutoItは低コストのラボラトリーオートメーションに使用されています。アプリケーションには、機器の同期化、アラーム監視、結果収集などがあります。3Dプリンターなどのデバイスも制御できます。



例としては、以下のようなものがあります。

ハローワールド

au3> ; 定数値のライブラリを利用できるようにします。#au3> ; "Hello, world!"をメッセージボックスに表示する。MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Windowsの電卓を自動化する

au3> ; 定数値のライブラリを利用できるようにします。#au3> ; 6秒のタイムアウトでメッセージボックスを表示します。MsgBox($MB_OK, "Attention", "Avoid touch the keyboard or mouse during automation.", 6) ; Windows電卓を実行します。実行("calc.exe") ; ; 電卓が10秒のタイムアウトでアクティブになるのを待ちます。WinWaitActive("[CLASS:CalcFrame]"""10) ; 電卓は10秒後に表示されなかった場合は、スクリプトを終了します。WinExists("[CLASS:CalcFrame]") = 0の場合は終了 ; 自動的に電卓に現在の年を入力します。Send(@YEAR) ; スクリプトの速度を少し落として、何が起こっているのかを確認してみましょう。Sleep(600) ; 自動的に「4で割る」と入力し、600ミリ秒スリープする。Send("/4") Sleep(600) ; リターンキーを押して結果を表示し、600msスリープ。Send("{ENTER}") Sleep(600) ; Windows のショートカット Ctrl+C で結果をクリップボードにコピーします。Send("^c") ; クリップボードの内容を変数に宣言し、代入します。Local $fResult = ClipGet() ; 変数に小数点が含まれているかどうかを確認します。If StringInStr($fResult, ".") Then ; タイムアウト5秒のメッセージボックスを表示する。MsgBox($MB_OK, "うるう年", @YEAR & " is not a leap year.", 5) Else ;      メッセージは、現在の年がうるう年の場合にのみ表示されます。MsgBox($MB_OK, "うるう", @YEAR & " is a leap year.", 5) EndIf ; Windows の電卓を閉じます。WinClose("[CLASS:CalcFrame]" )

平均値を探す

au3> _Example() ; 例題を実行します。Func _Example() ; Local $sInput = InputBox("平均値を検索", "カンマ区切りの数値を入力してください: 1,2,42,100,3")   ; エラーが発生した場合はスクリプトを終了します。         If @error Then Exit ; ユーザの入力を配列に入力します。Local $aSplit = StringSplit($sInput, ",") ; _Find_Average() に渡してから、エラーをチェックします。Local $fAverage = _Find_Average($aSplit) If @error Then Exit ; 結果をメッセージボックスに表示します。MsgBox($MB_OK, "Find Average", "Result: " & $fAverage) EndFunc ;==>_   Example Func _Find_Average($aArray) ; 入力が正しい型(配列)でない場合は     詳細と一緒にエラーを返す。If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))     ; より詳細なチェックが可能ですが、簡潔にするためにここでは1つだけ実行されます。 ; 数値の合計を格納する変数を宣言します。Local $iArraySum = 0 ; 配列をループします。For $i = 1 To $aArray[0] ; 各配列要素の数値の合計をインクリメントします。iArraySum += Number($aArray[$i]) Next ; 小数点以下2桁に丸めた平均値を返す。Return Round($iArraySum / $aArray[0], 2) EndFunc ;==>_Find_Average



歴史

  • 1999年1月 - 初のAutoItバージョン(1.0
  • 1999年8月 - AutoIt v2 と AutoItX
  • 1999年9月 - Compilerを使用したAutoItの最初のバージョン
  • 2002年12月 - AutoIt v3 (パブリックベータ)
  • 2004年2月 - AutoIt v3 (安定版)
  • 2006年9月 - Auto3Lib開始
  • 2007年11月 - AutoIt v3.2.10.0 がリリースされ、Auto3Lib が AutoIt v3 に組み込まれました。
  • 2008年5月 - AutoIt v3.2.12.0 がリリースされ、GUI機能が追加されました。
  • 2008年12月 - AutoIt (および AutoItX) v3.3.0.0 がリリースされました。
  • 2009年12月 - AutoIt v3.3.2.0 がリリースされました。
  • 2010年1月 - AutoIt v3.3.4.0 リリース
  • 2010年3月 - AutoIt v3.3.6.0 がリリースされました。
  • 2010年4月 - AutoIt v3.3.6.1 がリリースされました。
  • 2011年12月 - AutoIt v3.3.8.0 がリリースされました。
  • 2012年1月 - AutoIt v3.3.8.1 がリリースされました。
  • 2013年12月 - AutoIt v3.3.10.0 がリリースされました。
  • 2014年6月 - AutoIt v3.3.12.0 がリリースされました。
  • 2015年7月 - AutoIt v3.3.14.0とv3.3.14.1がリリースされました。
  • 2015年9月 - AutoIt v3.3.14.2リリース
  • 2018年2月 - AutoIt v3.3.14.3リリース



ライセンス

AutoItの開発者はもともとGNU一般公衆ライセンス(GPL)のもとでソースコードをリリースしました。

2006年には、バージョン3.2.0以降のバージョンでは、独自のクローズドソースライセンスに変更されました。

バージョン3.1のコードの一部は、AutoHotkeyプロジェクトによるフォークを作成するために使用されました。これは GPL ライセンス条項の下で許可されています。AutoHotkeyコミュニティは、GPLのもとでコードを開発し、リリースし続けています。



質問と回答

Q:AutoItとは何ですか?


A:AutoItはMicrosoft Windows用のフリーウェア・プログラミング言語です。

Q:バージョン1、2でのAutoItの使用方法を教えてください。
A: バージョン1、2では、Microsoft Windowsプログラムの自動化スクリプト(マクロとしても知られています)を作成するために使用されていました。

Q:バージョン3のAutoItは何が変わったのですか?


A: バージョン3では、より多くのことができるようにスクリプト言語が拡張され、BASICプログラミング言語に似た構文に変更されました。

Q: AutoItスクリプトにはどのようなデータを含めることができますか。
A: AutoItスクリプトには、配列のようなデータタイプを含めることができます。

Q: インタープリターがインストールされていないコンピュータでも、AutoItスクリプトを実行できますか。
A: はい。AutoItスクリプトはスタンドアロン実行ファイルに変換でき、インタープリターがインストールされていないコンピュータでも実行できます。

Q:言語で利用できる特別な能力はありますか?


A: はい、UDF(User Defined Functions)と呼ばれる様々な関数ライブラリが用意されており、標準装備されているものと、ウェブサイトから入手できるものがあります。

Q: AutoItで開発するための特別なエディターはありますか?


A: はい、無料のSciTEエディタをベースにした専用エディタがあり、コンパイラとヘルプテキストを含む開発者のための標準的な開発環境を提供しています。

AlegsaOnline.com - 2020 / 2023 - License CC3