今回はJavaScript(JSctipt)、Perl、Python、Ruby、VBSでAutoItXの動作を試してみた。サンプルスクリプトではメモ帳を起動してそこに「Hello world!」と入力する。
まず普通にAutoItで書いた場合。
Run("Notepad.exe", "")
WinWaitActive("無題 - メモ帳")
Send("Hello world{!}")
// tested with Windows Script Host Version 5.7
oAutoIt = new ActiveXObject("AutoItX3.Control");
oAutoIt.Run("Notepad.exe", "");
oAutoIt.WinWaitActive("無題 - メモ帳");
oAutoIt.Send("Hello world{!}");
# tested with perl v5.14.2
use Win32::OLE;
$oAutoIt = Win32::OLE->new("AutoItX3.Control");
$oAutoIt->Run("Notepad.exe", "");
$oAutoIt->WinWaitActive("無題 - メモ帳");
$oAutoIt->Send("Hello world{!}");
# coding=sjis
# tested with Python 2.5.5
import win32com.client
oAutoIt = win32com.client.Dispatch("AutoItX3.Control")
oAutoIt.Run("Notepad.exe", "")
oAutoIt.WinWaitActive("無題 - メモ帳")
oAutoIt.Send("Hello world{!}")
#!ruby -Ks
# tested with ruby 1.9.2p290
require 'win32ole'
oAutoIt = WIN32OLE.new('AutoItX3.Control')
oAutoIt.Run("Notepad.exe", "")
oAutoIt.WinWaitActive("無題 - メモ帳")
oAutoIt.Send("Hello world{!}")
' tested with Windows Script Host Version 5.7
Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
oAutoIt.Run "Notepad.exe", ""
oAutoIt.WinWaitActive "無題 - メモ帳"
oAutoIt.Send "Hello world{!}"
AutoItX3.dllそのものやAutoItXについてのドキュメントはAutoItインストールフォルダにあるAutoItXフォルダに置かれている。
Perl、Python、Rubyに関してはwin32用のモジュールを使う必要があるがそれぞれWindows向けのパッケージをインストールすると標準でインストールされていた。サンプルスクリプトの文字コードは全てshift-jisを使っている。
関連:
【日本語訳】AutoItX ドキュメント
AutoIt v3 ドキュメント 日本語訳プロジェクト
【読後評】まつもとゆきひろ「コードの世界」