AutoIt(オートイット)はWindows用のプログラミング言語である。

AutoItはWindows用プログラムのGUI自動操作機能を主な特徴としている。スクリプトは実行形式にコンパイル可能であり、コンパイルしたものはAutoItインタプリタのインストールされていない環境でも動作する。フリーウェアであり非常に多くのライブラリ、開発ツールが存在する。

主な特徴 実行環境はWindows TCPとUDPをサポート COMオブジェクトをサポート DLLをサポート コンソールアプリケーションの実行と標準ストリームへのアクセスが可能 GUI、メッセージボックス、入力ボックスの作成が可能 音声ファイルの制御可能 マウス操作のシミュレートが可能 ウィンドウ、プロセスの操作が可能 アプリケーション、アプリケーション内の各コントロールへの入力、キーストロークの送信が可能 スクリプトをスタンドアローンの実行形式にコンパイル可能 Unicodeをサポート(v3.2.4.0以降) 64ビットコードをサポート(v3.2.10.0以降) 正規表現をサポート Windows Vistaのユーザーアカウント制御に対応

歴史 1998年12月 - C言語によるキーストローク送信のアイデアが提案される。 1999年1月 - AutoIt v1.0 リリース。 1999年8月 - AutoIt v2、AutoItX リリース。 1999年9月 - 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 リリース。

AutoItはもともとはGPLライセンスの下でソースコードの公開をおこなっていたが、現在はソースコードの公開は中止されている。これは別プロジェクトが繰り返しAutoItのソースコードを取り込んだ上でAutoItに対して敵対的な行動をとったため、と説明されているhttp://www.autoitscript.com/forum/index.php?showtopic=7204。

例 Hello World! ; メッセージボックスに "Hello, world!" と表示して終了。 MsgBox(0, "Title", "Hello, world!") Exit

平均値を計算 ; ユーザーが入力した数値の平均を求める ; 数値はカンマ(",")で区切られていなければならない #NoTrayIcon #include <GUIConstantsEx.au3> #include <Array.au3>

#region---------------GUI----------------------- $form = GUICreate("平均計算", 300, 75) $label = GUICtrlCreateLabel("平均を計算する数値をカンマ("","")で区切って入力", 20, 5) $textbox = GUICtrlCreateInput("", 20, 20, 220) $label1 = GUICtrlCreateLabel("=", 245, 20, 30, 20) $ansLabel = GUICtrlCreateLabel("", 255, 20, 50, 20) $button = GUICtrlCreateButton("平均を計算", 100, 45) GUISetState(@SW_SHOW) #endregion---------------END GUI-----------------------

While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then Exit If $msg = $button Then If _findAvg(GUICtrlRead($textbox)) = "malform1" Then GUICtrlSetData($ansLabel,"エラー") Else GUICtrlSetData($ansLabel, _findAvg(GUICtrlRead($textbox))) EndIf EndIf WEnd

Func _findAvg($nums) Local $sData Local $ans ;入力チェック-----------------> $chk = StringRight($nums, 5) If $chk = "," Then $nums = StringTrimRight($nums, 1) If StringInStr($nums, ",") < 1 Then Return ("malform1") EndIf ;-----------------> $sData = StringSplit($nums, ",") $ans = 0 For $i = 1 To $sData $ans += $sData[$i] Next $ans = $ans / $sData Return ($ans) EndFunc ;==>_findAvg

AutoItX COMインターフェイス、DLLをサポートしているスクリプト言語、プログラミング言語向けにAutoItXというDLL形式ファイルが用意されている。AutoItXを使用することでAutoItの組み込み関数の一部を他の言語から使用することが可能である。 使用例 Perl use Win32::OLE; $oAutoIt = Win32::OLE->new("AutoItX3.Control"); $oAutoIt->Run("Notepad.exe", ""); Ruby require 'win32ole' oAutoIt = WIN32OLE.new('AutoItX3.Control') oAutoIt.Run("Notepad.exe", "") Python import win32com.client oAutoIt = win32com.client.Dispatch("AutoItX3.Control") oAutoIt.Run("Notepad.exe", "") 参照

外部リンク 公式ウェブサイト ドキュメントの日本語訳 付属ライブラリのドキュメントの日本語訳 AutoItXのドキュメントの日本語訳