Triple-9 for Windows

カスタム検索

アプリケーションの操作を自動化するツールで、次の特長があります。
ほとんどの操作(キーボード/マウス操作、メニュー選択、ボタン操作)をシミュレートできます。
Pascalに準じた強力なスクリプト言語を備えています。
エディットコントロールやチェックボックスなどの各コントロールの状態を調べたり、設定したりできます。
画面イメージを保存したり比較したりできます。
独自にDLLを作成して機能を拡張することができます。
DDEにより他のアプリケーションと通信できます。
コンパイルしてEXEファイルを生成できます。生成したEXEファイルは自由に配布できます。
ActiveXに対応しています。OLEオートメーションに対応しているExcelやWordなどはもちろん、OLEオートメーションに対応していない一般のActiveXのプロパティやメソッドも操作できます。

スクリプトは、単にアプリケーションを普通に操作するだけで自動生成されます。どのメニューを選択したか、どのボタンを押下したかなど、コンテキストにしたがって論理的に記録した結果が記録されます。これにより、ウィンドウの位置や大きさがどんなに変化しても意図通りの操作を再現するスクリプトを簡単に作成できます。スクリプトはPascalに準じた高級言語であり、自分で手直しをすることもできます。豊富な関数群が用意されており、極めて柔軟な処理を記述できます。
記録開始の画面
この画面から記録を開始し、たとえばあるアプリケーションを起動、メニュー選択、OKボタンを押す操作を通常通り行うと、下記のようなコードが自動的に得られる。
var h0, h1: Integer;
begin
 Execute('A:\ClipRec\Cliprec.exe', 30000);
 h0 := FindWindow('TFClipRec', 'ClipRecorder', 5000);
 SetFGWindow(h0);
 ClickMenu(h0, '"ヘルプ(&H)","バージョン情報(&A)..."');
 h1 := FindWindow('TFAbout', 'バージョン情報', 5000);
 PushButton(h1, 'OK');
end;


Triple-9のメイン画面



改定履歴
7.10→7.11
 1)記録時のキャンセル操作での異常動作修正
7.02→7.10
 1)Internet Explorerの操作を自動記録する機能を追加しました。
 2)Windows Vistaで一部機能が動作しなかったのを対応しました。ただし、Vistaでは一部制限があります。詳しくはヘルプを参照してください。。
 3)Delphi7を用いたカスタムコンパイルが失敗する障害を修正しました。
 4)SendKeysで、Altキーが有効にならなかった障害を修正しました。
7.01→7.02
 1)障害修正。Internet Explorerの操作で例外のためスクリプトが途中で終了することがありました。
7.00→7.01
 1)GetActiveOleObjectの引数1個の場合の障害、その他を修正しました。
6.41→7.00
 1)OLEオートメーションにはVersion 4より対応していましたが、Version 7では更にOLEオートメーション非対応のActiveXも自動化できるように拡張しました。詳しくはComSpyをキーにHelpを参照してください。
 2)タイムアウトを指定していないPushButton関数もデフォールトのタイムアウトを持つようになりました。ボタンを押そうとしたときにそのボタンがEnableでなかった場合は、Enableになるまで待ちます。タイムアウト時間を越えた場合は、無視するかダイアログを表示するように指定できます。詳しくはHelpでPushButtonを参照してください。
 3)操作を記録するときに、日本語入力に関して変換後の漢字を記録するか、キー操作を忠実に記録するかのモードを指定できるようになりました。
 4)SendKeysには漢字を含めることもできるようになりました。
 5)一般の文字入力では、キーを押し続けているとリピート入力になりますが、これを単独の文字入力と区別して記録再生できるようになりました。SendKeysの仕様ももれに合わせて拡張してあります。
 6)デバッグ機能において、ブレークポイント設定の操作を改善しました。
6.40→6.41
 1)IE (Internet Explorer)関連の機能が動作しないのを修正しました。
6.30→6.40
 1)Borland Developer Studio 2006 (Delphi)に対応しました。
 2)PushButton関数がタイムアウト機能をサポートしました。
 3)操作の記録途中でコメントを挿入できるようになりました。
6.20→6.30
 1)Delphi 2005に対応しました。
 2)標準コンパイルで動作しないいくつかの問題を解決しました。
 3)ComboBoxSelectは、マウスのクリックをシミュレートするように変更しました。従来の動作にしたい場合は、CB_SETCURSEL または CB_SELECTSTRING メッセージを使用してください。
 4)PushButtonなど、ウィンドウのキャプションを指定する関数では、従来32バイトまでしか認識していなかったものを128バイトまで拡大しました。
6.10→6.20
 1)Ctrl+Esc, Alt+Esc, またはCtrl+Alt+Deleteキーで再生が停止しない場合がある問題を修正しました。
 2)DDEが動作しない問題を解決しました。
 3)StrToInt関数で数字以外の文字があった場合の動作をヘルプの記載通りに修正しました。
6.02→6.10
 1)Delphiなしでもコンパイルできるようになりました。
6.01→6.02
 1)インターネットエクスプローラを操作時、clickしてダイアログが表示される場合、動作が停止することがあるのを修正しました。
6.00→6.01
 1)スケジュール機能の障害修正。
5.00→6.00
 1)Internet Explorerに対応しました。IEのボタンやエディットボックスなどに簡単にアクセスできます。IE用の専用関数を用意しています。
4.80→5.00
 1)Triple-9 Liteと統合し、Liteにあったランチャー機能をTriple-9 for Windowsに組み入れました。
※ これに伴い、Triple-9 Liteは既存ユーザのサポートのみとし、新規提供は行いません。
4.70→4.80
 1)WindowsXPに対応しました。
 2)Delphi 7.0に対応しました。
 3)GetEnv, ParamCount, ParamStr関数を追加しました。
4.60→4.70
 1)Random関数を追加しました。
Ver 4.50→4.60
 1)同時にコンパイルできるスクリプトの最大数が8だった制限をなくしました。
 2)GetKeyState関数が正しく動作しない場合がある障害を修正しました。
Ver 4.40→4.50
 1)Delphi 6.0に対応しました。
Ver 4.30→4.40
 1)WaitFolder, FindFirstFile, FindNextFile関数追加。 特定のディレクトリでファイルの作成や削除を監視できるようになりました。
 2)GetCursorPos, GetKeyState関数追加
 3)サブルーチンからの戻り時に変数値が異常になる障害修正
Ver 4.20→4.30
 1)Visual Basic 6.0用のコントロール定義追加
 2)MessageWaitを、ボタンの種類を指定できるよう拡張
 3)Pos関数のMBCS(マルチバイト文字)サポート
Ver 4.10→4.20
 1)Delphi 5.0に対応
 2)記録時、Animation開始をListBox選択と誤認識するバグ修正
 3)メニューのショートカットキー指定部分に制御文字があるアプリに対応
Ver 4.00→4.10
 1)SelectMenuで、Menu IDを指定する書式の追加
 2)日本語入力モードの制御を可能にしました(ImeGetState, ImeSetState追加)。
 3)SendTextで制御文字を使えなかった制限を解除
Ver 3.21→4.00
 1)OLEオートメーションに対応しました。ExcelやWordなどが備えるVBAの機能をほぼそのまま利用できます。
 2)国際化対応しました。PCの設定を判定し英語/日本語を自動で切り替えます。
 3)Pace(KeySpeed, MouseSpeed)の仕様変更。
 4)コンパイルした時に一部の定数文字列に余分なバイトが入る障害を修正しました。
Ver 3.20→3.21
 1)呼び出した関数から戻ると、オープンしていたファイルが閉じる、およびDDE通信のコネクションが切断される問題を修正しました。
Ver 3.10→3.20
 1)SendText手続き(漢字が扱えるSendKeys)を追加しました。
 2)MouseDrag手続きを追加しました。
 3)TaskBar上の操作の記録を可能にしました。
 4)コンパイルした場合に、OpenDlg,SaveDlg,ToolBarGetBtn,ToolBarClickが使えない不具合を修正しました。
Ver 3.00→3.10
 1)WaitClose関数を追加しました。ウィンドウが閉じるあるいはアプリが終了するまで待ちます。
 2)PowerOff手続きを追加しました。処理がすべて終了したらPCの電源を切ることができます。電源を再投入すれば、次の行から再開します。
 3)高水準記録モード以外で「アプリ起動」にチェックした場合に生成されるスクリプトがエラーになる障害を修正しました。
 4)スケジュールを開こうとするときにエラーとなる障害を修正しました。
Ver 2.51→3.00
 1)コンパイルしてEXEファイルを生成する機能を追加しました。
 2)WaitIdle関数を追加しました。対象アプリケーションが入力待ちでアイドル状態になるまで待ちます。
 3)Execute関数は外部仕様はそのままですが、内部的には従来のようにウィンドウが開くまで待つのではなく、入力待ちでアイドル状態になるまで待つように変更しました。
Ver 2.50→2.51
 1)スケジュール機能を実行しようとするとアボートする障害を解決しました。
 2)DOS窓に対してSendKeysが機能しない障害を解決しました。
Ver 2.40→2.50
 1)FindWindowで条件を満たすwindowが複数あった場合、visibleなwindowを優先するようにしました。また、FindWindow, GetClassName, IsWindowEnable, IsWindowVisible関数を追加しました。
 2)高水準モードの記録精度を高める改善を行っています。
 3)Windows NTの場合、SendKeysで一部のキーが再現できなかった問題を修正しています。
Ver 2.30→2.40
 1)本バージョンより、Windows98に対応しました。
なお、Windows98のエクスプローラやWord98, EXCEL97などで採用されているツールバーのようなメニューで2レベル以上のものの操作を記録する際は、各レベルでマウスクリックしてください。
Windowsの標準操作では、マウスを移動するだけでプルダウンメニューが表示されますが、Triple-9の記録のためにはクリック操作が必要です。
Ver 2.20→2.30
 1)ホットキーにより記録途中でも記録モードを変更できるようにしました。
これにより、たとえばメニューやボタンを操作してある機能を開始するところまでは高水準モードで、その後マウスを操作して図形を編集するところではマウスの移動操作まで記録するモードにし、終わったらまた高水準モードに戻すといった使い方が出来ます。
 2)高水準モードでの記録の改善
高水準モードの記録にはいくつか忠実には記録できない制限がありましたが、内部の見直しによりかなり改善しています。
 3)カスタムコントロールを登録し、認識させる機能の追加
Windows標準ではないアプリ特有のカスタムコントロールでも、Triple-9に登録すると、高水準モードで記録できるようになります。
 4)MouseClick, ShellExecute, PlaySound, GetScrollInfo, SetScrollInfo関数/手続きの追加
Ver 2.11→2.20
 1)TabClick, ListViewClick, TreeViewClick関数の追加
Ver 2.10→2.11
 1)未登録の場合に起動できない障害を修正
Ver 2.00→2.10
 1)フローティングポップアップメニューの記録と再生もできるようにしました。ただし、スタートメニュー等、一部にはなお制限となっているものもあります(WM_COMMANDメッセージを送出しないメニュー)。
Ver 1.20→2.00
 1)高水準記録モードの追加
 2)ClickMenuはサブメニューも指定できるようにしました。
 3)FindPopup, SetFocus, ListBoxSelect, ComboBoxSelect関数の追加
Ver 1.10→1.20
 1)スケジュール機能の追加
複数のスクリプトを時間指定で、または連続して実行できる。
 2)ClickMenu関数, ToolBarClick手続きの追加
 3)トレース出力機能(Print, Clear手続き)の追加
 4)MDIの採用
Ver 1.00→1.10
 1)Windows NTにあったいくつかの関数の制限を解除
 2)EditGetLine関数, SetMenuState関数の追加
 3)16進整定数の追加