JP1 Version 10

JP1/NETM/DM Automatic Installation Toolガイド (Windows(R)用)

文法・操作書

3021-3-179-01

目　　次

前書き

変更内容

はじめに

1.　AITファイルを使ったリモートインストール

1.1　AITファイルとは

1.2　AITファイルを使ったリモートインストール手順

1.2.1　AITファイルおよびPP識別情報ファイルの作成

1.2.2　作成したファイルの格納

1.2.3　パッケージング

1.2.4　リモートインストールの実行

1.3　AITファイルを作成および使用する場合の注意事項

2.　AITファイルの作成

2.1　Automatic Installation Toolの概要

2.1.1　Automatic Installation Toolの機能

2.1.2　Automatic Installation Toolの起動と終了

2.2　AITファイルの構造と作成手順

2.3　インストール画面の順序と属性を調査する

2.3.1　調査内容

2.3.2　インストール画面の属性の取得

2.4　インストール操作をレコーディングする

2.4.1　インストール操作のレコーディング

2.4.2　レコーディングの一時停止と再開

2.4.3　再起動を伴うインストール操作のレコーディング

2.5　PACKAGE_INFOセクションを生成する

2.5.1　PACKAGE_INFOセクションおよびPP識別情報ファイルの生成手順

2.5.2　インストールプログラムと識別用ファイルの指定方法

2.6　AITファイルを編集する

2.6.1　ウィンドウ処理について

2.6.2　自動生成されたフラグについて

2.6.3　自動生成されたAITファイルの確認と修正のポイント

2.6.4　パッケージャおよびリモートインストールマネージャとの連動

2.6.5　エラー処理の追加とリターンコードの設定

2.6.6　AITファイルの完成例

2.7　AITファイルをデバッグする

2.7.1　文法チェックと実行

2.7.2　デバッグ

3.　AIT言語リファレンス

3.1　AITファイルの形式

3.2　セクション

3.2.1　PACKAGE_INFO

3.2.2　DEFINE

3.2.3　MAIN

3.2.4　ERROR

3.3　データ型

3.3.1　integer型

3.3.2　float型

3.3.3　bool型

3.3.4　string型

3.4　演算子

3.4.1　代入操作

3.4.2　単項プラス

3.4.3　単項マイナス

3.4.4　単項否定

3.4.5　加法演算子

3.4.6　乗除演算子

3.4.7　比較演算子

3.4.8　ビット単位演算子

3.4.9　論理演算子

3.4.10　演算子の優先順位

3.5　変数と定数

3.6　プログラムフローの制御

3.6.1　goto

3.6.2　ラベル

3.6.3　if-else-endif

3.6.4　while-loop

3.6.5　do-while

3.6.6　for-next

3.6.7　continue

3.6.8　break

3.6.9　switch-endswitch

3.7　関数呼び出し

3.8　キーワード

3.9　マクロ

3.9.1　ウィンドウ操作および確認操作に関するマクロ

3.9.2　メッセージ操作に関するマクロ

3.9.3　ファイル操作に関するマクロ

3.9.4　IME操作に関するマクロ

3.9.5　ユティリティ操作に関するマクロ

3.9.6　レジストリ操作に関するマクロ

3.9.7　ディレクトリ操作に関するマクロ

3.9.8　エラーロギングに関するマクロ

4.　APIリファレンス

4.1　API一覧

4.1.1　ウィンドウ操作

4.1.2　確認操作

4.1.3　解像度のチェック

4.1.4　日時操作

4.1.5　IME操作

4.1.6　文字列操作

4.1.7　メッセージ操作

4.1.8　レジストリ操作

4.1.9　ディレクトリ操作

4.1.10　ファイル操作

4.1.11　INIファイル操作

4.1.12　レコーダ操作

4.1.13　タスクバー操作

4.1.14　ユティリティ操作

4.1.15　JP1/NETM/DMとのインターフェース

4.2　APIの詳細

APIの説明形式

AIT_ASCIIToChar

AIT_ChangeFileAttribute

AIT_CharToASCII

AIT_CheckResolution

AIT_ComboBoxCloseUp

AIT_ComboBoxDropDown

AIT_CtrlClick

AIT_CtrlItemCount

AIT_CtrlItemIndex

AIT_CtrlSetFocus

AIT_DefaultButtonCount

AIT_DirCopy

AIT_DirCreate

AIT_DirRemove

AIT_DMPSTRC

AIT_Exec

AIT_ExecCommand

AIT_ExistWindow

AIT_Exit

AIT_FileClose

AIT_FileCopy

AIT_FileDelete

AIT_FileEOF

AIT_FileExists

AIT_FileGetLine

AIT_FileGetPos

AIT_FileOpen

AIT_FilePutLine

AIT_FileRename

AIT_FileSetPos

AIT_FileSize

AIT_FindCloseFile

AIT_FindFirstFile

AIT_FindNextFile

AIT_FindSubStr

AIT_FocusWindow

AIT_GetCtrlText

AIT_GetCtrlTextLen

AIT_GetCurrentDirectory

AIT_GetDate

AIT_GetDtPickerDate

AIT_GetDtPickerTime

AIT_GetEditCurrentLineIndex

AIT_GetEditFirstLineIndex

AIT_GetEditTextLineLen

AIT_GetEnv

AIT_GetErrorText

AIT_GetIndexText

AIT_GetIndexTextLen

AIT_GetKeyState

AIT_GetLastError

AIT_GetMenu

AIT_GetMenuIndex

AIT_GetMenuText

AIT_GetOSType

AIT_GetProfileFirstSection

AIT_GetProfileFirstSectionNames

AIT_GetProfileNextSection

AIT_GetProfileNextSectionNames

AIT_GetProfileString

AIT_GetSubMenu

AIT_GetSubStr

AIT_GetTime

AIT_GetWindowText

AIT_IMEGetConversionStatus

AIT_IMEGetOpenStatus

AIT_IMEGetProperty

AIT_IMEGetStatusWindowPos

AIT_IMESetConversionStatus

AIT_IMESetOpenStatus

AIT_IMESetStatusWindowPos

AIT_IMESimulateHotKey

AIT_InitLog

AIT_IsEmpty

AIT_LogMessage

AIT_MenuItemClick

AIT_MessageBox

AIT_MinWnd

AIT_MouseClick

AIT_MouseDblClk

AIT_MouseDown

AIT_MouseDragDrop

AIT_MouseMoveTo

AIT_MouseUp

AIT_PlayKey

AIT_PostMessage

AIT_RegCloseKey

AIT_RegCreateKey

AIT_RegDeleteKey

AIT_RegDeleteValue

AIT_RegGetDWORDValue

AIT_RegGetStringValue

AIT_RegisterWindowMessage

AIT_RegKeyExists

AIT_RegOpenKey

AIT_RegSetDWORDValue

AIT_RegSetStringValue

AIT_RegValueExists

AIT_SelectIPAddressField

AIT_SelectListItem

AIT_SelectMultipleListItem

AIT_SelectText

AIT_SetActWnd

AIT_SetCheck

AIT_SetComboEditSelText

AIT_SetCurrentDirectory

AIT_SetDefaultWaitTimeout

AIT_SetDtPickerDate

AIT_SetDtPickerTime

AIT_SetKeyState

AIT_SetProfileString

AIT_SetScrollPos

AIT_SetSpinPos

AIT_SetWndPos

AIT_SetWndPosSize

AIT_Sleep

AIT_StatusBox

AIT_StatusBoxClose

AIT_StrLeft

AIT_StrLength

AIT_StrLower

AIT_StrLTrim

AIT_StrRight

AIT_StrRTrim

AIT_StrTrim

AIT_StrUpper

AIT_TaskbarClk

AIT_TaskbarHasFocus

AIT_TaskbarItemClk

AIT_TaskbarItemExists

AIT_TaskbarItemIndex

AIT_TaskbarItemSelected

AIT_TaskbarSetFocus

AIT_VerifyCharPos

AIT_VerifyCount

AIT_VerifyDateTime

AIT_VerifyDefaultButton

AIT_VerifyEnabled

AIT_VerifyExistence

AIT_VerifyFirstVisible

AIT_VerifyFocus

AIT_VerifyIndex

AIT_VerifyKeyState

AIT_VerifyLine

AIT_VerifyLocation

AIT_VerifyMenuChecked

AIT_VerifyMenuEnabled

AIT_VerifyNoOfCtrls

AIT_VerifyPos

AIT_VerifySelected

AIT_VerifyState

AIT_VerifyText

4.3　APIの使用例

4.3.1　復帰と改行を削除する

4.3.2　文字列を抽出する

4.3.3　リモートインストール時にレジストリのHKEY_CURRENT_USERを操作する

5.　トラブルシューティング

5.1　メッセージの確認

5.1.1　メッセージの出力先

5.1.2　メッセージの形式

5.2　編集ウィンドウ使用時のメッセージ

AITG100-E

AITG101-E

AITG102-E

AITG103-E

AITG104-E

AITG105-E

AITG106-E

AITG107-W

AITG108-E

AITG109-E

AITG110-E

AITG111-E

AITG112-Q

AITG113-E

AITG114-E

AITG115-W

AITG116-W

AITG117-W

AITG118-W

AITG119-W

AITG120-E

AITG121-W

AITG122-E

AITG123-E

AITG124-E

AITG125-E

AITG200-E

AITG201-E

AITG202-E

AITG203-E

AITG204-E

AITG205-E

AITG206-E

AITG208-E

AITG209-I

AITG211-W

AITG212-I

AITG213-I

AITG214-W

AITG215-E

AITG216-Q

5.3　実行および解析時のメッセージ

AITCE-0001

AITCE-0002

AITCE-0003

AITCE-0005

AITCE-0006

AITCE-0007

AITCE-0008

AITCE-0009

AITCE-0010

AITCE-0011

AITCE-0012

AITCE-0013

AITCE-0014

AITCE-0015

AITCE-0018

AITCE-0019

AITCE-0020

AITCE-0021

AITCE-0022

AITCE-0023

AITCE-0024

AITCE-0025

AITCE-0026

AITCE-0027

AITCE-0029

AITCE-0030

AITCE-0031

AITCE-0032

AITCE-0034

AITCE-0037

AITCE-0038

AITCE-0039

AITCE-0040

AITCE-0041

AITCE-0042

AITCE-0043

AITCE-0044

AITCE-0045

AITCE-0046

AITCE-0047

AITCE-0048

AITCE-0050

AITCW-0016

AITCW-0017

AITCW-0028

AITCW-0033

AITCW-0035

AITCW-0036

付録

付録A　メニュー一覧

付録B　JP1/NETM/DMで提供するAITファイル

付録B.1　JP1/NETM/DMで提供するAITファイルの設定内容

付録B.2　JP1/NETM/DMで提供するAITファイルを使用する場合の注意事項

付録C　PP識別情報ファイルの編集方法

付録D　レコーダファイルを使ったリモートインストール

付録D.1　レコーダファイルを使ったリモートインストールの概要

付録D.2　レコーダファイルの作成手順

付録D.3　レコーダファイルの完成例

付録D.4　関連ファイルの作成手順

付録D.5　レコーダファイル作成後の確認

付録D.6　JP1/NETM/DMで提供するレコーダファイル

付録E　Windows Installerに対応したソフトウェアのリモートインストール手順

付録E.1　MSIEXECコマンドのコマンドラインの調査

付録E.2　JP1/NETM/DMが提供しているテンプレート

付録E.3　テンプレートのカスタマイズ

付録E.4　PP識別情報ファイルの作成

付録E.5　作成したファイルの格納

付録E.6　パッケージング

付録E.7　リモートインストールの実行

付録F　各バージョンの変更内容

付録G　用語解説

索引

[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2013, 2015, Hitachi, Ltd.

前書き

■ 対象製品

●JP1/NETM/DM Manager（適用OS：Windows）

P-2W42-11A4　 JP1/NETM/DM Manager　 10-10

製品構成一覧および内訳形名

P-CC2642-11A4　 JP1/NETM/DM Manager　 10-10（適用OS：Windows Server 2003，Windows XP Professional）＊
P-CC2A42-11A4　 JP1/NETM/DM Manager　 10-10（適用OS：Windows 7，Windows 8，Windows Server 2008，Windows Server 2012，Windows Vista）＊

●JP1/NETM/DM Client（適用OS：Windows）

P-2W42-13A4　 JP1/NETM/DM Client　 10-10

製品構成一覧および内訳形名

P-CC2642-13A4　 JP1/NETM/DM Client　 10-10（適用OS：Windows Server 2003，Windows XP，Windows 2000）＊
P-CC2C42-13A4　 JP1/NETM/DM Client　 10-10（適用OS：Windows 7，Windows 8，Windows Server 2008，Windows Server 2012，Windows Vista）＊

●JP1/NETM/DM Client - Base（適用OS：Windows）

P-2W42-23A4　 JP1/NETM/DM Client - Base　 10-10

製品構成一覧および内訳形名

P-CC2642-23A4　 JP1/NETM/DM Client - Base　 10-10（適用OS：Windows Server 2003，Windows XP，Windows 2000）＊
P-CC2C42-23A4　 JP1/NETM/DM Client - Base　 10-10（適用OS：Windows 7，Windows 8，Windows Server 2008，Windows Server 2012，Windows Vista）＊

●JP1/NETM/DM Client - Operation Log Feature（適用OS：Windows）

P-F2W42-23A41　 JP1/NETM/DM Client - Operation Log Feature　 10-10

製品構成一覧および内訳形名

P-CC2642-23A4N001　 JP1/NETM/DM Client - Operation Log Feature　 10-10（適用OS：Windows Server 2003，Windows XP，Windows 2000）＊
P-CC2C42-23A4N001　 JP1/NETM/DM Client - Operation Log Feature　 10-10（適用OS：Windows 7，Windows 8，Windows Server 2008，Windows Server 2012，Windows Vista）＊

●JP1/NETM/DM Client - Delivery Feature（適用OS：Windows）

P-F2W42-23A42　 JP1/NETM/DM Client - Delivery Feature　 10-10

製品構成一覧および内訳形名

P-CC2642-23A4N002　 JP1/NETM/DM Client - Delivery Feature　 10-10（適用OS：Windows Server 2003，Windows XP，Windows 2000）＊
P-CC2C42-23A4N002　 JP1/NETM/DM Client - Delivery Feature　 10-10（適用OS：Windows 7，Windows 8，Windows Server 2008，Windows Server 2012，Windows Vista）＊

●JP1/NETM/DM Client - Remote Control Feature（適用OS：Windows）

P-F2W42-23A43　 JP1/NETM/DM Client - Remote Control Feature　 10-10

製品構成一覧および内訳形名

P-CC2642-23A4N003　 JP1/NETM/DM Client - Remote Control Feature　 10-10（適用OS：Windows Server 2003，Windows XP，Windows 2000）＊
P-CC2C42-23A4N003　 JP1/NETM/DM Client - Remote Control Feature　 10-10（適用OS：Windows 7，Windows 8，Windows Server 2008，Windows Server 2012，Windows Vista）＊

＊印の製品は，ISO9001およびTickITの認証を受けた品質マネジメントシステムで開発されました。
本製品は，Windows 8.1およびWindows Server 2012 R2にも適用できます。
このマニュアルでは，「Windows 8」，「Windows Server 2012」に関する記載個所を，それぞれ「Windows 8（Windows 8.1を含む）」，「Windows Server 2012（Windows Server 2012 R2を含む）」に読み替えてください。

■ 輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。
なお、不明な場合は、弊社担当営業にお問い合わせください。

■ 商標類

Acrobatは，Adobe Systems Incorporated(アドビシステムズ社)の商標です。
ActiveXは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Adobe，およびReaderは，Adobe Systems Incorporated(アドビシステムズ社)の米国ならびに他の国における商標または登録商標です。
DOS/Vは，日本アイ・ビー・エム(株)の商品名称です。
InstallShieldは，Macrovision Corporationの米国および/ または他の国における登録商標または商標です。
Internet Explorerは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Itaniumは，アメリカ合衆国およびその他の国におけるIntel Corporationの商標です。
ＭcAfee, VirusScan, NetShieldは，米国法人 McAfee, Inc. またはその関係会社の米国またはその他の国における登録商標です。
MicrosoftおよびHyper-Vは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Microsoft Officeは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
MS-DOSは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Norton AntiVirusは，Symantec Corporationの米国およびその他の国における商標または登録商標です。
ODBCは，米国Microsoft Corporationが提唱するデータベースアクセス機構です。
OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。
UNIXは，The Open Groupの米国ならびに他の国における登録商標です。
Visual Testは，米国Rational Software Corporationの商品名称です。
Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows NTは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Vistaは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
秘文は，株式会社日立ソリューションズの登録商標です。
その他記載の会社名，製品名は，それぞれの会社の商標もしくは登録商標です。

■ マイクロソフト製品のスクリーンショットの使用について

Microsoft Corporationのガイドラインに従って画面写真を使用しています。

■ 発行

2015年4月　3021-3-179-01

■ 著作権

All Rights Reserved. Copyright (C) 2013, 2015, Hitachi, Ltd.

変更内容

変更内容（3021-3-179-01）

追加・変更内容 | 変更個所
適用OSにWindows 8.1およびWindows Server 2012 R2を追加した。 | －

単なる誤字・脱字などはお断りなく訂正しました。

はじめに

このマニュアルは，JP1/NETM/DMのコンポーネントであるAutomatic Installation Toolの使用方法の詳細を説明したものです。ソフトウェアの自動インストールに使用するAIT（Automatic Installation Tool）ファイルやレコーダファイルを作成する際にお読みください。

なお，このマニュアルを含め，Windows版JP1/NETM/DMのマニュアルには次の7冊があります。各マニュアルの目的を次に示しますので，必要に応じてお読みください。

JP1 Version 10 JP1/NETM/DM 導入・設計ガイド(Windows(R)用)

最初にお読みいただくマニュアルです。

JP1/NETM/DMの概要や機能，代表的な構築例および使用例を紹介しています。また，JP1/NETM/DMを導入するための手順や，あらかじめ検討しておく必要があることについても説明しています。

JP1 Version 10 JP1/NETM/DM 構築ガイド(Windows(R)用)

JP1/NETM/DMのインストール・セットアップの手順，データベースの構築，およびシステム構成の管理方法について説明しています。

JP1 Version 10 JP1/NETM/DM 運用ガイド1(Windows(R)用)

ソフトウェアの配布，インベントリ情報の取得および管理，ファイルの収集など，配布管理システムの各機能の詳細と操作方法を説明しています。また，クライアントの操作方法についても説明しています。

JP1 Version 10 JP1/NETM/DM 運用ガイド2(Windows(R)用)

他の製品とJP1/NETM/DMとの連携，およびトラブルが発生したときの対処方法について説明しています。また，Windows 8・Windows Server 2012・Windows 7・Windows Server 2008・Windows Vista版JP1/NETM/DM Client，64ビット版JP1/NETM/DM Client，およびWindows CE版JP1/NETM/DM Clientの機能についても説明しています。

JP1 Version 10 JP1/NETM/DM Automatic Installation Toolガイド(Windows(R)用)

他社ソフトウェアをパッケージングするときに使用するAITファイルやレコーダファイルの作成方法を説明しています。

JP1 Version 10 JP1/NETM/DM Administrator Kit

JP1/NETM/DM Clientを自動的にインストールするために使用するJP1/NETM/DM Administrator Kitについて説明しています。

JP1 Version 10 JP1/NETM/Remote Control

JP1/NETM/Remote ControlおよびJP1/NETM/DMのリモートコントロール機能について説明しています。

＜はじめにの構成＞

対象読者

関連マニュアル

このマニュアルでの表記

このマニュアルで使用している英略語

マニュアル間の参照指示について

マニュアルで使用している記号

文法で使用している記号

図中で使用している記号

HTMLヘルプについて

KB（キロバイト）などの単位表記について

対象読者

このマニュアルは，次の方にお読みいただくことを前提に説明しています。

JP1/NETM/DMを利用してソフトウェアの配布や資産情報を収集・管理する管理者の方

Microsoft Windowsの操作に関する基本的な知識をお持ちの方

関連マニュアル

このマニュアルの関連マニュアルを次に示します。必要に応じてお読みください。

JP1 Version 10 JP1/NETM/DM 導入・設計ガイド(Windows(R)用)（3021-3-175）

JP1 Version 10 JP1/NETM/DM 構築ガイド(Windows(R)用)（3021-3-176）

JP1 Version 10 JP1/NETM/DM 運用ガイド1(Windows(R)用)（3021-3-177）

JP1 Version 10 JP1/NETM/DM 運用ガイド2(Windows(R)用)（3021-3-178）

JP1 Version 10 JP1/NETM/DM Administrator Kit（3021-3-180）

JP1 Version 10 JP1/NETM/Remote Control（3021-3-183）

このマニュアルでの表記

このマニュアルでは，JP1/NETM/DM関連製品の名称を次のように表記します。

表記 | 製品名称
64ビット版JP1/NETM/DM Client | Windows Server 2003 (IPF)対応JP1/NETM/DM Client
Windows Server 2003 (IPF)対応JP1/NETM/DM Client Light Edition
JP1/NETM/DM | JP1/NETM/DM Client | JP1/NETM/DM Client
JP1/NETM/DM Client - Base
JP1/NETM/DM Client - Delivery Feature
JP1/NETM/DM Client - Operation Log Feature
JP1/NETM/DM Client - Remote Control Feature
JP1/NETM/DM Manager
Windows 8・Windows Server 2012・Windows 7・Windows Server 2008・Windows Vista版JP1/NETM/DM Client | Windows 8，Windows Server 2012，Windows 7，Windows Server 2008，およびWindows Vista対応のJP1/NETM/DM Client

そのほかの製品名称，および名称について次のように表記します。

表記
製品名称および名称

ActiveX
ActiveX(R)

InstallShield
InstallShield(R)

Itanium 2
Intel(R) Itanium(R) 2プロセッサ

Microsoft Internet Explorer
Microsoft(R) Internet Explorer

Windows(R) Internet Explorer(R)

MS-DOS
Microsoft(R) MS-DOS(R)

Visual Test
Visual Test 4.0

Visual Test 6.0

Windows
Windows 98
Microsoft(R) Windows(R) 98 Operating System

Windows Me
Microsoft(R) Windows(R) Millennium Edition Operating System

Windows NT
Windows 2000
Windows 2000 Advanced Server
Microsoft(R) Windows(R) 2000 Advanced Server Operating System

Windows 2000 Datacenter Server
Microsoft(R) Windows(R) 2000 Datacenter Server Operating System

Windows 2000 Professional
Microsoft(R) Windows(R) 2000 Professional Operating System

Windows 2000 Server
Microsoft(R) Windows(R) 2000 Server Operating System

Windows 7
Microsoft(R) Windows(R) 7 Enterprise

Microsoft(R) Windows(R) 7 Professional

Microsoft(R) Windows(R) 7 Ultimate

Windows 8
Windows 8
Microsoft(R) Windows(R) 8

Microsoft(R) Windows(R) 8 Enterprise

Microsoft(R) Windows(R) 8 Pro

Windows 8.1
Microsoft(R) Windows(R) 8.1

Microsoft(R) Windows(R) 8.1 Enterprise

Microsoft(R) Windows(R) 8.1 Pro

Windows NT 4.0
Windows NT Server 4.0
Microsoft(R) Windows NT(R) Server Network Operating System Version4.0

Windows NT Workstation 4.0
Microsoft(R) Windows NT(R) Workstation Operating System Version4.0

Windows Server 2003※1
Windows Server 2003
※1
Microsoft(R) Windows Server(R) 2003 R2, Datacenter Edition

Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition

Microsoft(R) Windows Server(R) 2003 R2, Standard Edition

Microsoft(R) Windows Server(R) 2003, Datacenter Edition

Microsoft(R) Windows Server(R) 2003, Enterprise Edition

Microsoft(R) Windows Server(R) 2003, Standard Edition

Windows Server 2003 (IPF)
Microsoft(R) Windows Server(R) 2003, Datacenter Edition for Itanium-based Systems

Microsoft(R) Windows Server(R) 2003, Enterprise Edition for Itanium-based Systems

Windows Server 2003 (x64)
Microsoft(R) Windows Server(R) 2003 R2, Datacenter x64 Edition

Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition

Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition

Microsoft(R) Windows Server(R) 2003, Datacenter x64 Edition

Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition

Microsoft(R) Windows Server(R) 2003, Standard x64 Edition

Windows Server 2008※2
Windows Server 2008※2
Microsoft(R) Windows Server(R) 2008 Datacenter

Microsoft(R) Windows Server(R) 2008 Datacenter without Hyper-V(R)

Microsoft(R) Windows Server(R) 2008 Enterprise

Microsoft(R) Windows Server(R) 2008 Enterprise without Hyper-V(R)

Microsoft(R) Windows Server(R) 2008 Standard

Microsoft(R) Windows Server(R) 2008 Standard without Hyper-V(R)

Windows Server 2008 R2
Microsoft(R) Windows Server(R) 2008 R2 Datacenter

Microsoft(R) Windows Server(R) 2008 R2 Enterprise

Microsoft(R) Windows Server(R) 2008 R2 Standard

Windows Server 2012
Windows Server 2012
Microsoft(R) Windows Server(R) 2012 Datacenter

Microsoft(R) Windows Server(R) 2012 Standard

Windows Server 2012 R2
Microsoft(R) Windows Server(R) 2012 R2 Datacenter

Microsoft(R) Windows Server(R) 2012 R2 Standard

Windows Vista
Microsoft(R) Windows Vista(R) Business

Microsoft(R) Windows Vista(R) Enterprise

Microsoft(R) Windows Vista(R) Ultimate

Windows XP
Windows XP Home Edition
Microsoft(R) Windows(R) XP Home Edition Operating System

Windows XP Professional
Microsoft(R) Windows(R) XP Professional Operating System

注※1

Windows Server 2003 (IPF)またはWindows Server 2003 (x64)を併記している場合は，Windows Server 2003にWindows Server 2003 (IPF)およびWindows Server 2003 (x64)は含みません。

注※2

Windows Server 2008 R2を併記している場合は，Windows Server 2008にWindows Server 2008 R2は含みません。

このマニュアルで使用している英略語

このマニュアルで使用している主な英略語を次に示します。

英略語 | 正式名称
API | Application Programming Interface
ASCII | American Standard Code for Information Interchange
CD | Compact Disc
CD-ROM | Compact Disc Read Only Memory
DLL | Dynamic Linking Library
FD | Floppy Disk
GUI | Graphical User Interface
HD | Hard Disk
HTML | Hyper Text Markup Language
I/O | Input/Output
ID | Identifier
IME | Input Method Editor
IP | Internet Protocol
IPF | Itanium(R) Processor Family
MBCS | Multi-Byte Character Set
MS-DOS | Microsoft Disk Operating System
ODBC | Open DataBase Connectivity
OS | Operating System
PC | Personal Computer
PDF | Portable Document Format
PP | Program Product

マニュアル間の参照指示について

マニュアル「JP1/NETM/DM 導入・設計ガイド(Windows(R)用)」，「JP1/NETM/DM 構築ガイド(Windows(R)用)」，「JP1/NETM/DM 運用ガイド1(Windows(R)用)」，「JP1/NETM/DM 運用ガイド2(Windows(R)用)」または「JP1/NETM/DM Automatic Installation Toolガイド(Windows(R)用)」間で，相互にマニュアルを参照していただく場合，次の形式で参照指示しています。

『AAについては，マニュアル「BBB」の「n.n.n　XXXXX」を参照してください。』

AA

参照していただく項目です。

BBB

参照先マニュアルの略称です。マニュアル名称の共通部分（「JP1/NETM/DM」および「(Windows(R)用)」の部分）を省略しています。省略されている部分を補ってお読みください。

n.n.n

参照先の章・節・項番号です。(1)や(a)などの括弧付き項番が付く場合もあります。

XXXXX

参照先の標題（見出し）です。

マニュアルで使用している記号

このマニュアルで使用している記号を次のように定義します。

記号
意味

［　］
ウィンドウ，ダイアログボックス，タブ，パネル，メニュー，ボタン，アイコン，グループ，フォルダ，およびキーの名称を示す。

「　」
画面上の文字列，記号，およびジョブの名称を示す。

［A］－［B］
メニューを連続して選択することを示す。
（例）　［ファイル］－［新規作成］
上記の例では，［ファイル］メニューを選択して，プルダウンメニューから［新規作成］を選択することを示す。

［X］＋［Y］
キーを同時に押すことを示す。
（例）　［Ctrl］＋［C］キー
上記の例では，［Ctrl］キーと［C］キーを同時に押すことを示す。

斜体文字
可変の値を示す。
（例）　日付はYYYYMMDDの形式で指定する。

文法で使用している記号

文法で使用している記号を次のように定義します。

記号
意味

　|
(ストローク)
複数の項目に対し，項目間の区切りを示し，「または」の意味を示す。
（例）　A|B|C は，「A，BまたはC」を示す。

{　}
(波括弧)
この記号で囲まれている複数の項目の中から，必ず1組の項目を選択する。項目の区切りは|で示す。
（例）　{A|B|C}は「A，BまたはCのどれかを指定する」ことを示す。

［　］
(角括弧)
この記号で囲まれている項目は任意に指定できる(省略してもよい)。複数の項目が記述されている場合には，すべてを省略するか，どれか一つを選択する。
（例）　［A］は「何も指定しない」か「Aを指定する」ことを示す。［B|C］は「何も指定しない」か「BまたはCを指定する」ことを示す。

　…
(点線)
この記号の直前に示された項目を繰り返して複数個，指定できる。項目と項目の間は，一つ以上のスペースで区切る。
（例）　A…　は「AのあとにAを必要個数指定できる」ことを示す。

　_
(下線)
括弧内のすべてを省略したときに，システムが採る標準値を示す。標準値がない場合は，指定した項目だけが有効である。
（例）　［A|B］はこの項目を指定しなかった場合に，Aを選択したと見なすことを示す。

図中で使用している記号

このマニュアルの図中で使用している記号を，次のように定義します。

HTMLヘルプについて

JP1/NETM/DMでは，次に示すHTMLヘルプを提供しています。

JP1/NETM/DMのヘルプ（JP1/NETM/DM Manager，JP1/NETM/DM Client（中継システム），およびJP1/NETM/DM Client - Base（中継システム）用）

JP1/NETM/DMのヘルプの内容は，次のマニュアルを統合したものです。

・JP1 Version 10 JP1/NETM/DM 導入・設計ガイド(Windows(R)用)

・JP1 Version 10 JP1/NETM/DM 構築ガイド(Windows(R)用)

・JP1 Version 10 JP1/NETM/DM 運用ガイド1(Windows(R)用)

・JP1 Version 10 JP1/NETM/DM 運用ガイド2(Windows(R)用)

・JP1 Version 10 JP1/NETM/DM Automatic Installation Toolガイド(Windows(R)用)

JP1/NETM/DM Clientのヘルプ（JP1/NETM/DM Client（クライアント）およびJP1/NETM/DM Client - Base（クライアント）用）

JP1/NETM/DM Clientのヘルプの内容は，上記のマニュアルからクライアントの説明を抜粋したものです。

これらのHTMLヘルプでは，検索したい項目をHTMLヘルプの全文から検索できます。

JP1/NETM/DMの各ウィンドウの［ヘルプ］メニューや各ダイアログボックスの［ヘルプ］ボタンから，HTMLヘルプを起動できます。HTMLヘルプは，Microsoft Internet Explorer 5.01以降がインストールされているPCで参照してください。

KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

1.　AITファイルを使ったリモートインストール

JP1/NETM/DMでは，ソフトウェアをリモートインストールするとき，クライアントユーザがインストーラに応答することなく，自動インストールすることができます。この章では，自動インストールのために必要なAITファイルと，AITファイルを使ったリモートインストールの方法について説明します。また，AITファイルを作成・使用する場合の注意事項について説明します。

＜この章の構成＞

1.1　AITファイルとは

1.2　AITファイルを使ったリモートインストール手順

1.3　AITファイルを作成および使用する場合の注意事項

1.1　AITファイルとは

AITファイルとは，ソフトウェアのインストーラに自動応答する内容を記述したスクリプトファイルです。配布するソフトウェアとともにAITファイルをパッケージングし，リモートインストールすると，クライアントユーザがインストーラに応答することなく，ソフトウェアを自動インストールできます。

他社ソフトウェアや，インストーラに応答する必要のあるユーザ作成のプログラムをリモートインストールする場合は，AITファイルを作成してください。AITファイルは，JP1/NETM/DMのコンポーネントであるAutomatic Installation Toolを使用して作成します。

AITファイルを使ったリモートインストールの概要を，次の図に示します。

図1-1　AITファイルを使ったリモートインストール

1.2　AITファイルを使ったリモートインストール手順

AITファイルを使ったリモートインストールの手順を次の図に示します。

図1-2　AITファイルを使ったリモートインストール手順

＜この節の構成＞

1.2.1　AITファイルおよびPP識別情報ファイルの作成

1.2.2　作成したファイルの格納

1.2.3　パッケージング

1.2.4　リモートインストールの実行

1.2.1　AITファイルおよびPP識別情報ファイルの作成

配布するソフトウェアのインストール手順を調査して，インストーラに自動応答するAITファイルを作成します。AITファイルは，Automatic Installation Tool独自のAIT言語で作成します。

また，AITファイルの作成時にPP識別情報ファイルを作成します。PP識別情報ファイルには，配布するソフトウェアをAITファイルに関連づけるための情報が記述されています。PP識別情報ファイルは，PPDEFAIT.DMPという名称で，決められた場所に格納しておく必要があります。

なお，PP識別情報ファイルには，次の2種類があります。

標準添付のPP識別情報ファイル
JP1/NETM/DMが提供するAITファイルに対応する，標準添付のPP識別情報ファイルです。変更はしないでください。標準添付のPP識別情報ファイルは，JP1/NETM/DMのインストール先フォルダ¥MASTER下に，PPDEFAIT.DMPというファイル名で格納されています。

ユーザ作成のPP識別情報ファイル
ユーザが作成したAITファイルを配布するソフトウェアと関連づけるために，ユーザが作成するPP識別情報ファイルです。

AITファイルおよびPP識別情報ファイルの作成方法については，「2.　AITファイルの作成」以降を参照してください。

また，配布するソフトウェアがWindows Installerを使用している場合のAITファイルの作成方法については，「付録E　Windows Installerに対応したソフトウェアのリモートインストール手順」を参照してください。

なお，JP1/NETM/DMでは，主なソフトウェアに対応するAITファイルを標準添付しています。標準添付しているAITファイルについては，「付録B　JP1/NETM/DMで提供するAITファイル」を参照してください。

1.2.2　作成したファイルの格納

ユーザが作成したPP識別情報ファイルは，パッケージャのPCで，次のディレクトリに格納してください。

パッケージャのインストール先ディレクトリ¥DMPRM¥PPDEFAIT.DMP

また，ユーザが作成したAITファイルは，パッケージャのPCの，PP識別情報ファイルの設定時に指定したパスに格納してください。

1.2.3　パッケージング

AITファイルとPP識別情報ファイルを所定の場所に格納したあと，配布するソフトウェアをパッケージャでパッケージングします。

パッケージングする際，［JP1/NETM/DMパッケージング］ダイアログボックスの［パッケージング情報］パネルには，AITファイルおよびPP識別情報ファイルで定義した「パッケージ識別ID」，「バージョン」，「パッケージ名」が表示されます。この値は変更できません。

図1-3　［パッケージング情報］パネル

［JP1/NETM/DMパッケージング］ダイアログボックスには，AITファイルで定義した次の情報も表示されます。この値は，パッケージング時またはリモートインストール時に変更できます。

インストール先ディレクトリ

会社名

所有者名

シリアルナンバー

アイコングループ

インストール中にクライアントユーザがダイアログボックスに応答したり，キーボードやマウスを操作したりすると，インストーラの画面表示がAITファイルの期待するものと異なるものになり，AITファイルによるリモートインストールが進まなくなる場合があります。このような場合に備えて，インストール中にユーザの応答待ち状態になってから一定の時間が経過したあと，インストールを強制的に中断する時間（AITファイルの監視時間）を設定しておくことができます。

通常は，配布するソフトウェアをインストールするのに要した時間の約3倍の時間を目安に設定してください。

図1-4　［AITファイルの設定］パネル

パッケージングの詳細については，マニュアル「運用ガイド1」の「2.1　パッケージングの方法」を参照してください。

1.2.4　リモートインストールの実行

リモートインストールマネージャで，ソフトウェアを配布するジョブを作成して実行してください。リモートインストール操作については，マニュアル「運用ガイド1」の「2.3　リモートインストールの実行」を参照してください。

注意

クライアントが07-00より前のバージョンまたはUNIXシステムの場合，AITファイルを使ったリモートインストールジョブはエラーになります。

1.3　AITファイルを作成および使用する場合の注意事項

AITファイルを作成および使用する場合の注意事項を次に示します。

Webページや，JavaおよびActiveXで作成されたソフトウェアには対応していません。

AITファイルに，レジストリのHKEY_CURRENT_USERを操作するAPIを定義している場合は，リモートインストール先のクライアントにAdministrator権限を持っているユーザがログオンしている必要があります。
Administrator権限を持たないユーザは，HKEY_CURRENT_USERへのアクセス権がないため，APIで操作するレジストリが自動的にHKEY_USERS¥.DEFAULTに変更されます。これによって，インストールがエラーになることがあります。
なお，操作するレジストリが変更されても，インストール中のソフトウェアの動作に問題がない場合は，インストールが続行されます。

インストール完了後にクライアントを再起動するよう設定されたパッケージを，AITファイルを使用してリモートインストールする場合，クライアントを再起動しないでインストーラが完了するよう設定したAITファイルを使用してください。リモートインストールを正常に完了させるには，パッケージの設定からクライアントを再起動する必要があります。

次に示すAPIの引数に64ビット関連のデータ（レジストリ，フォルダ，またはファイル）を指定して，64ビット版のWindows 8，Windows Server 2012，64ビット版のWindows 7，64ビット版のWindows Server 2008，64ビット版のWindows VistaまたはWindows Server 2003 (x64)上で動作させた場合，APIの操作対象が32ビット関連のデータに変更される（リダイレクトされる）ことがあります。

レジストリ操作API

ディレクトリ操作API

ファイル操作API

INIファイル操作API

AIT_Exec

2.　AITファイルの作成

Automatic Installation Toolは，AITファイルを作成するための統合された環境を提供しています。この章では，Automatic Installation Toolを使って，AITファイルを作成する方法について説明します。

＜この章の構成＞

2.1　Automatic Installation Toolの概要

2.2　AITファイルの構造と作成手順

2.3　インストール画面の順序と属性を調査する

2.4　インストール操作をレコーディングする

2.5　PACKAGE_INFOセクションを生成する

2.6　AITファイルを編集する

2.7　AITファイルをデバッグする

2.1　Automatic Installation Toolの概要

Automatic Installation Toolの機能概要と，起動と終了方法について説明します。

＜この節の構成＞

2.1.1　Automatic Installation Toolの機能

2.1.2　Automatic Installation Toolの起動と終了

2.1.1　Automatic Installation Toolの機能

AITファイルを作成するために，Automatic Installation Toolは次の機能を備えています。

編集ウィンドウで，AITファイルを作成および編集します。テキストの切り取り，コピー，貼り付け，インデントの設定などができます。

ウィンドウプロパティツールを使って，インストール画面のウィンドウ情報を取得できます。取得したウィンドウ情報はクリップボードにコピーし，AITファイル内でAPIの引数として使用できます。

レコーダを使って，実際のインストール操作をレコーディングすると，ユーザ操作をシミュレートするAITファイルを自動生成できます。

［文法チェック］は，AITファイルがAIT言語仕様に適合しているかどうかをチェックします。文法チェック時に発生したエラーは，アウトプットウィンドウに表示されます。

［実行］は，文法チェックをしたあと，AITファイルに記述されているインストール操作を再生します。

［デバッグ］は，文法の誤りの発見や修正を支援する機能を提供しています。AITファイル内に設定したブレークポイントまで実行したり，ステートメント単位に実行したりできます。また，AITファイル実行中に，変数の値を参照したり更新したりできます。

インストール操作の再生，レジストリ処理，ファイル処理，文字列処理などのさまざまな処理を実行できるように，APIが提供されています。

配布するソフトウェアをAITファイルに関連づけるためのPP識別情報ファイルを生成できます。

2.1.2　Automatic Installation Toolの起動と終了

Automatic Installation Toolを起動するには，JP1/NETM/DMのグループアイコンから［Automatic Installation Tool］を選択します。次のような［Automatic Installation Tool］ウィンドウが表示されます。

図2-1　［Automatic Installation Tool］ウィンドウ

Automatic Installation Toolを終了するには，［ファイル］－［終了］を選択します。

なお，Windows 8・Windows Server 2012・Windows 7・Windows Server 2008・Windows Vista版JP1/NETM/DM Clientでレコーディングを実行する場合は，プログラムを実行する権限と同じ権限で［Automatic Installation Tool］ウィンドウを起動してください。

また，Windows 8・Windows Server 2012・Windows 7・Windows Server 2008・Windows Vista版JP1/NETM/DM Clientは複数の［Automatic Installation Tool］ウィンドウを起動できます。ただし，レコーディングおよびデバッグを実行する場合は，一つのウィンドウから実行してください。

2.2　AITファイルの構造と作成手順

AITファイルは，基本的に次の手順で作成します。実際には，この手順を一度だけ実行するのではなく，何度か繰り返しながらAITファイルを完成させることになります。

図2-2　AITファイルの作成手順

レコーダを使用してインストール操作をレコーディングしたあと，パッケージ情報ツールでPACKAGE_INFOセクションを生成すると，次の図のような構造のAITファイルが自動生成されます。自動生成されたファイルは，作成したいAITファイルの原型になります。通常は，網掛けの部分を手作業で修正し，AITファイルを完成させます。

図2-3　AITファイルの構造

図2-3に示すように，AITファイルは四つのセクションで構成されています。すべてのセクションは必須で，セクションの順序は変更できません。次に，各セクションの概要を説明します。

PACKAGE_INFOセクション
配布するソフトウェアの，パッケージ情報とセットアップに必要な情報を指定します。手作業でも作成できますが，パッケージ情報ツールを使って作成すると便利です。

DEFINEセクション
MAINセクションおよびERRORセクションで使用する変数の定義と初期化を行います。ほかのセクションで変数を定義することはできません。MAINセクションおよびERRORセクションで使用する変数を追加したり，初期値を変更したりする場合は，このセクションを修正してください。

MAINセクション
インストーラが出力するウィンドウに対する操作を記述します。レコーダで自動生成されたコードを手作業で修正し，インストーラが出力するすべてのウィンドウに対する操作を記述します。インストール結果のリターンコードを設定することもできます。

ERRORセクション
AITファイルの実行時に内部エラーが発生すると，このセクションに実行制御が移ります。エラーが発生したときの処理を変更する場合は，このセクションを修正してください。

AITファイル中には，コメントを記述できます。また，AIT言語は大文字と小文字を区別しません。AIT言語の詳細については，「3.　AIT言語リファレンス」を参照してください。

なお，PP識別情報ファイルは手作業でも作成できますが，パッケージ情報ツールで生成すると便利です。PP識別情報ファイルは，PACKAGE_INFOセクションを生成するときに合わせて生成できます。

パッケージ情報ツールによって生成されたPP識別情報ファイルは，JP1/NETM/DMのインストール先フォルダ¥DMPRMに，PPDEFAIT.DMPというファイル名で格納されます。

2.3　インストール画面の順序と属性を調査する

配布するソフトウェアのインストーラを起動して，そのインストール手順を調査します。次の項目について，OSごとにインストール方法を調べ，インストール手順を紙に記録してください。

インストール画面の順序と属性

各ダイアログボックスの属性

これらの属性を調査するとき，Automatic Installation Toolのウィンドウプロパティツールを利用すると便利です。ウィンドウプロパティツールは，ウィンドウおよびコントロールのGUI属性を取得できるツールで，次の属性を取得できます。

ウィンドウ属性 | 説明
ウィンドウテキスト | ウィンドウまたはコントロールのキャプションです。
クラス名 | ウィンドウまたはコントロールのクラス名です。
モジュール名 | ウィンドウを起動したアプリケーションです。
コントロールID | ウィンドウまたはコントロールのIDです。
コントロールの種類 | ウィンドウ，ボタンなどのコントロールのタイプです。
関連付けるラベル | あるコントロールに対して，タブオーダーで一つ前のテキストが，そのコントロールの「関連付けるラベル」です。コントロールの一つ前にテキストがない場合，関連付けるラベルはありません。
使用可能 | ウィンドウまたはコントロールが使用可能かどうかを識別します。
可視 | ウィンドウまたはコントロールが見えるかどうかを識別します。

これらの属性は，ウィンドウやコントロールを識別するために，AITファイルの各種APIの入力値として使えます。

＜この節の構成＞

2.3.1　調査内容

2.3.2　インストール画面の属性の取得

2.3.1　調査内容

インストーラが，ユーザに対して「どのような順序で，どういった操作を要求してくるか」を調査する必要があります。何度か手動でインストールして調査し，次の項目について一覧表にまとめてください。

インストール方法や，インストールするPCの状態（OSの種類，ハードディスクの空き容量，メモリの空き容量，インストール済みのソフトなど）によって，インストールの操作が変わりますので，入念に調査してください。

なお，配布するソフトウェアのインストールで再起動が発生する場合，再起動後の操作については，AITファイルではサポートしていません。したがって，再起動開始時点までのインストール操作を調査してください。

ウィンドウテキスト
ウィンドウプロパティツールを使って調査した「ウィンドウテキスト」を記述します。AIT言語は全角と半角を区別します。大文字と小文字は区別しません。

クラス名
ウィンドウプロパティツールを使って調査した「クラス名」を記述します。

コントロールID
ウィンドウプロパティツールを使って調査した「コントロールID」を記述します。

コントロールの種類
ウィンドウプロパティツールを使って調査した「コントロールの種類」を記述します。

操作
このダイアログボックスに対する操作（［OK］ボタンをクリックするなど）を記述します。

備考
コメントや特記事項がある場合に記述します。

次に，例として，Acrobat Reader 5.05のインストールの流れを調査した結果を示します。「コントロールID」欄のN/Aは，コントロールIDが適用されていないことを示しています。

表2-1　Acrobat Reader 5.05のインストールの流れ

#
ウィンドウテキスト
クラス名
コントロールID
コントロールの種類
操作
備考

1
Acrobat Reader 5.0.5 のセットアップ
#32770
N/A
Window

［次へ］ボタンをクリックする。

なし

2
インストール先の選択
#32770
N/A
Window

1回目は［参照］ボタンをクリックする。

2回目は［次へ］ボタンをクリックする。

2回目は#4のあとへ

3
ディレクトリの選択
#32770
N/A
Window

パス名にインストールパスを指定する。

インストール先を変更する場合だけ表示

4
セットアップ
#32770
N/A
Window

［OK］ボタンをクリックする。

インストール先を変更する場合だけ表示

5
セットアップの完了
#32770
N/A
Window

［いいえ，後でコンピュータを再起動します］を選択する。

［完了］ボタンをクリックする。

なし

2.3.2　インストール画面の属性の取得

ウィンドウプロパティツールを使って，インストール画面の属性を取得する方法について説明します。

＜この項の構成＞

(1)　ウィンドウおよびコントロールの属性を取得する

(2)　関連するウィンドウおよびコントロールの属性を表示する

(1)　ウィンドウおよびコントロールの属性を取得する

［ツール］－［ウィンドウプロパティ］を選択する。
［ウィンドウプロパティ］ダイアログボックスが表示されます。

属性を取得したいソフトウェアを起動する。
調べたいウィンドウと［ウィンドウプロパティ］ダイアログボックスが，ともにデスクトップに表示されていることを確認してください。

調べたいウィンドウまたはコントロールの上に，ウィンドウプロパティツールのファインダ（[図データ]）をドラッグ＆ドロップする。
［ウィンドウプロパティ］ダイアログボックスに，ファインダをドラッグした先のウィンドウまたはコントロールの属性が表示されます。

図2-4　［ウィンドウプロパティ］ダイアログボックス

ウィンドウプロパティツールで取得した属性は，クリップボードにコピーできます。

［ウィンドウプロパティ］ダイアログボックスの[図データ]をクリックしてください。属性は次のようにコピーされます。

ウィンドウテキスト：Acrobat Reader 5.0.5のセットアップ
クラス名：#32770
モジュール名：_INS5576._MP
コントロールID：N/A
コントロールの種類：Window
関連付けるラベル：N/A
使用可能：はい
可視：はい

(2)　関連するウィンドウおよびコントロールの属性を表示する

［ウィンドウプロパティ］ダイアログボックス上のツールバーのボタンを使って，親ウィンドウや最初の子ウィンドウの属性を表示したり，前面や背面のウィンドウの属性を表示したりできます。また，［ウィンドウプロパティ］ダイアログボックスの表示を調整できます。次に，［ウィンドウプロパティ］ダイアログボックス上のツールバーのボタンを示します。

ツールバーのボタン | 説明
[図データ]　 | 親ウィンドウにジャンプ：属性を取得したウィンドウまたはコントロールの，親ウィンドウの属性を表示します。
[図データ]　 | 最初の子ウィンドウにジャンプ：属性を取得したウィンドウまたはコントロールの，最初の子ウィンドウの属性を表示します。
[図データ]　 | 前のウィンドウにジャンプ：属性を取得したウィンドウまたはコントロールの，一つ前面のウィンドウの属性を表示します。
[図データ]　 | 次のウィンドウにジャンプ：属性を取得したウィンドウまたはコントロールの，一つ背面のウィンドウの属性を表示します。
[図データ]　 | 検索中に表示／非表示：ファインダをドラッグしたとき，［ウィンドウプロパティ］ダイアログボックスを非表示にし，ドロップしたときに［ウィンドウプロパティ］ダイアログボックスを表示することができます。非表示にしておくと，対象のコントロールを選択しやすくなります。
[図データ]　 | 常にトップに：［ウィンドウプロパティ］ダイアログボックスを，常に最前面に表示します。

2.4　インストール操作をレコーディングする

Automatic Installation Toolのレコーダを使用して，実際のインストール操作をレコーディングします。レコーダは，キーを押す，マウスをクリックする，コントロールの操作などのイベントを記録し，ユーザ操作をシミュレートするAITファイルを自動的に作成します。この自動生成されたファイルは，作成したいAITファイルの原型になります。

レコーダによって，PACKAGE_INFOセクションを除く，すべてのセクションが自動生成されます。Acrobat Reader 5.05のインストール操作をレコーディングした結果を例に，どのような情報が生成されるのかを次の図に示します。

図2-5　Acrobat Reader 5.05のレコーディングで自動生成されたAITファイル（1/3）

図2-6　Acrobat Reader 5.05のレコーディングで自動生成されたAITファイル（2/3）

図2-7　Acrobat Reader 5.05のレコーディングで自動生成されたAITファイル（3/3）

＜この節の構成＞

2.4.1　インストール操作のレコーディング

2.4.2　レコーディングの一時停止と再開

2.4.3　再起動を伴うインストール操作のレコーディング

2.4.1　インストール操作のレコーディング

レコーダを使用して，実際のインストール操作をレコーディングする方法について説明します。レコーディングによって，ユーザ操作をシミュレートするAITファイルの原型が自動生成されます。

レコーダでインストール操作を記録するとき，AITファイルに自動ロギング機能（AIT_LogMesssageステートメント）を追加することもできます。これによって，記録されたイベントを再生するとき，ログメッセージが出力されます。レコーダを使用してAITファイルを作成したあと，［ビルド］－［実行］で，このAITファイルを実行し，テスト対象のアプリケーションが，シミュレートされたユーザ操作と同じように動作するかどうかを検証するときに役立ちます。

なお，インストール操作では，マウスをできるだけ使用しないでください。マウスからの操作は，画面座標に依存してしまうため，AITファイルからインストーラへの確実な応答ができなくなってしまいます。また，マウスのホイールを利用した操作は，正しくレコーディングされない場合があります。そのため，レコーディングするときは，マウス操作ではなく，キーボード入力のイベントを記録するようにしてください。

レコーディングするときは，Automatic Installation Toolとインストーラ以外のすべてのアプリケーションを終了させておくことをお勧めします。別のアプリケーションに対する操作を行わない場合でも，レコーダは表示されているすべてのウィンドウを記録します。

［ツール］メニューから［レコーダ］を選択する。
［レコーダ］ダイアログボックスが表示されます。

図2-8　［レコーダ］ダイアログボックス（レコーディング開始）

「インストールプログラム名」および「ログに出力する」を指定する。

インストールプログラム名

インストール操作を記録する前にレコーダによって呼び出される実行プログラムの名前を指定します。インストールプログラム名を指定しない場合は，あらかじめ，対象のアプリケーションを起動しておいてください。

ログに出力する

オンにすると，AITファイルにAIT_LogMesssageステートメントが追加され，AITファイルを再生したときに，エラーや情報メッセージが記録されます。

オフにすると，AITファイルは作成されますが，メッセージを記録するためのステートメントは追加されません。

［開始］ボタンをクリックする。
これ以降のユーザ操作が記録されます。
操作2で「インストールプログラム名」を指定していた場合，指定したインストールプログラムが呼び出されます。

実際に，ソフトウェアのインストール操作を行う。
ユーザ操作をシミュレートする記録シーケンスが作成されます。
ユーザ操作が記録されている間，［Automatic Installation Tool］のアイコンがWindowsのタスクバーに表示されます。

ソフトウェアのインストール作業が終わったら，Windowsのタスクバーで［Automatic Installation Tool］のアイコンをクリックする。
レコーディングの終了は基本的に左クリックで行ってください。
Windows 8・Windows Server 2012・Windows 7・Windows Server 2008 R2上で右クリックした場合，Windowsのジャンプリストが表示されインストール操作としてレコーディングされるため実行しないでください。
［レコーダ］ダイアログボックスが表示され，レコーディングは一時停止の状態になります。

図2-9　［レコーダ］ダイアログボックス（レコーディング一時停止）

［終了］ボタンをクリックする。
レコーディングが終了し，パッケージ情報を更新するかどうかを確認するメッセージが表示されます。
［はい］をクリックすると，［パッケージ情報］ダイアログボックスが表示され，引き続きPACKAGE_INFOセクションを生成することができます。［パッケージ情報］ダイアログボックスについては，「2.5　PACKAGE_INFOセクションを生成する」を参照してください。
［いいえ］をクリックすると，［Automatic Installation Tool］ウィンドウ中に，作成されたAITファイルが表示されます。

図2-10　AITファイルが表示された［Automatic Installation Tool］ウィンドウ

［ファイル］－［名前を付けて保存］を選択し，自動作成されたAITファイルに名前を付けて保存する。
AITファイルの拡張子は.aisです。このファイルを基に，必要なコーディングを追加していきます。

なお，レコーディング中に再起動イベントが発生した場合，レコーディング中にユーザによって実行された操作はAutomatic Installation Toolで保持されています。PCを再起動してAutomatic Installation Toolを起動したあと，AITファイルの生成を確認するメッセージが表示されますので，［はい］をクリックしてAITファイルを生成してください。

2.4.2　レコーディングの一時停止と再開

インストール操作のレコーディング中に，記録を一時停止したり，再開したりできます。操作方法を次に示します。

Windowsのタスクバーで［Automatic Installation Tool］のアイコンを選択する。
［レコーダ］ダイアログボックスが表示され，レコーディングは一時停止の状態になります。

図2-11　［レコーダ］ダイアログボックス（レコーディング一時停止）

レコーディングが一時停止している状態で，［再開］ボタンをクリックする。
レコーディングが再開されます。インストール操作を続行してください。

2.4.3　再起動を伴うインストール操作のレコーディング

OSの再起動を要求されるインストール操作のレコーディングでは，OSが再起動するタイミングでレコーディングが完了します。

生成されたAITファイルを表示するには，OSの再起動後にAutomatic Installation Toolを起動してください。Automatic Installation Toolを起動すると，再起動前にレコーディングした内容を有効にするかどうかを選択するメッセージダイアログボックスが表示されます。

図2-12　レコーディング内容の有効/無効を選択するメッセージダイアログボックス

［はい］ボタンをクリックすると，再起動前にレコーディングした内容のAITファイルが表示されます。

2.5　PACKAGE_INFOセクションを生成する

AITファイルには，配布するソフトウェアのパッケージ情報とセットアップに必要な情報を指定する，PACKAGE_INFOセクションが必要です。このPACKAGE_INFOセクションを作成，検証するには，パッケージ情報ツールを使うと便利です。

また，AITファイルを利用するためには，配布するソフトウェアをAITファイルに関連づけるためのPP識別情報ファイルが必要です。PP識別情報ファイルは，パッケージ情報ツールから自動で生成できます。生成したPP識別情報ファイルを編集する方法については，「付録C　PP識別情報ファイルの編集方法」を参照してください。

ここでは，パッケージ情報ツールを使用してPACKAGE_INFOセクションおよびPP識別情報ファイルを生成する方法について説明します。

＜この節の構成＞

2.5.1　PACKAGE_INFOセクションおよびPP識別情報ファイルの生成手順

2.5.2　インストールプログラムと識別用ファイルの指定方法

2.5.1　PACKAGE_INFOセクションおよびPP識別情報ファイルの生成手順

PACKAGE_INFOセクションおよびPP識別情報ファイルを生成する手順について説明します。

PACKAGE_INFOセクションの詳細については，「3.2.1　PACKAGE_INFO」を参照してください。

［ファイル］－［開く］を選択し，対象のAITファイルを開く。

［ツール］－［パッケージ情報］を選択する。
［パッケージ情報］ダイアログボックスが表示されます。

図2-13　［パッケージ情報］ダイアログボックス

AITファイルにPACKAGE_INFOセクションがすでにある場合は，該当する値が［パッケージ情報］ダイアログボックスに表示されます。

各項目に値を入力する。
どの項目にも，¥n，¥r，¥tのような特殊な意味を持つ文字は使用できません。また，ダイアログボックス中の各項目の先頭の*は，必ず指定する項目であることを示しています。各項目の意味は次のとおりです。

項目
説明

パッケージ識別ID
パッケージ識別IDを，1～44バイトで指定します。
半角英数字（英字は大文字だけ），「-」（ハイフン），および「_」（アンダーバー）が使用できます。

パッケージ名
パッケージ名を，1～50バイトで指定します。「¥」と「;」は使用できません。

バージョン／リビジョン
ソフトウェアのバージョン/リビジョンを，1～6バイトで指定します。
英数字（英字は大文字だけ），および「/」（スラッシュ）が使用できます。

インストールプログラム名
ソフトウェアをインストールするときの，インストールプログラム（インストーラ）の名前を，1～256バイトで指定します。
次の記号は使用できません。
「*」「"」「:」「|」「<」「>」「?」

インストール先ドライブ
ソフトウェアをインストールするドライブを，2バイトで指定します。
半角英数字および「:」（コロン）で指定します。

インストール先ディレクトリ
ソフトウェアをインストールするディレクトリを指定します。¥で始まるパス名を，1～128バイトで指定します。

アイコングループ
ソフトウェアのアイコングループを，1～40バイトで指定します。

シリアルナンバー
インストールするソフトウェアのシリアルナンバーを，1～64バイトで指定します。インストール時にCDキーの必要なソフトウェアは，CDキーを入力してください。

英語
ソフトウェアが英語版の場合はオンにし，以下の「所有者名」と「会社名」を指定します。

所有者名
ソフトウェアの所有者名を，1～40バイトで指定します。
半角英数字で指定します。

会社名
ソフトウェアを所有する会社名を，1～80バイトで指定します。
半角英数字で指定します。

日本語
ソフトウェアが日本語版の場合はオンにし，以下の「所有者名」と「会社名」を指定します。

所有者名
ソフトウェアの所有者名を，1～40バイトで指定します。

会社名
ソフトウェアを所有する会社名を，1～80バイトで指定します。

AITファイルの格納パス
生成するAITファイルのフルパスを，ドライブ名も含めて1～256バイトで指定します。「;」は使用できません。

識別用ファイル名
配布するソフトウェアをユニークに識別できるファイル名を，1～477バイトで指定します。
パッケージング時に指定したファイルが存在すると，AITファイルを利用して配布するソフトウェアであると判断されます。複数のファイルを指定した場合は，すべてのファイルが存在するときだけ配布するソフトウェアであると判断されます。複数のファイルを指定する場合，ファイル名を「;」で区切って指定します。

なお，「AITファイルの格納パス」と「識別用ファイル名」の両方を指定しないでPACKAGE_INFOセクションを生成した場合は，PP識別情報ファイルは生成されません。
また，「インストールプログラム名」と「識別用ファイル名」の指定方法については，「2.5.2　インストールプログラムと識別用ファイルの指定方法」を参照してください。

［パッケージ情報の生成］ボタンをクリックする。
各項目の長さ，無効な文字，必須項目など，パッケージャと同様の検証が行われ，AITファイル内にPACKAGE_INFOセクションが生成，更新されます。

PACKAGE_INFO
{
PackageID = "ADOBEACROBATREADER";
Product = "Adobe Acrobat Reader";
Version = "505";
InstallerName = "ar505jpn.exe";
InstallDrive = "C:";
InstallDirectory = "'¥Program Files'¥Adobe";
}

また，［パッケージ情報］ダイアログボックスに設定された値で，PP識別情報ファイルが生成されます。すでにPP識別情報ファイルが存在する場合は，PP識別情報ファイルに情報が追加されます。
PP識別情報ファイルは，JP1/NETM/DMのインストール先フォルダ¥DMPRM下に，PPDEFAIT.DMPというファイル名で格納されます。

［ファイル］－［上書き保存］を選択し，生成，更新されたPACKAGE_INFOセクションを，AITファイルに保存する。

［パッケージ情報］ダイアログボックスで入力した値は，パッケージング時に［JP1/NETM/DMパッケージング］ダイアログボックスに表示されます。このとき，「パッケージ識別ID」，「パッケージ名」，および「バージョン／リビジョン」の値は変更できません。そのほかの値は，パッケージング時またはリモートインストール時に変更することもできます。

2.5.2　インストールプログラムと識別用ファイルの指定方法

AITファイルで指定する「インストールプログラム名」とPP識別情報ファイルで指定する「識別用ファイル名」は，パッケージングするディレクトリからの相対パスで指定する必要があります。

次に，パッケージングするファイルがCD-ROMドライブ（E:）に入っていると仮定して，AITファイルおよびPP識別情報ファイルでの指定方法を説明します。

パッケージングするディレクトリにサブディレクトリが存在しない場合

パッケージングするディレクトリ

E:¥

AITファイルのパッケージ情報で指定する「インストールプログラム名」

setup.exe

PP識別情報ファイルで指定する「識別用ファイル名」

xxx.ini;yyy.exe

パッケージングするディレクトリにサブディレクトリが存在する場合

パッケージングするディレクトリ

E:¥

AITファイルのパッケージ情報で指定する「インストールプログラム名」

install¥setup.exe

PP識別情報ファイルで指定する「識別用ファイル名」

xxx.ini;install¥yyy.exe

パッケージングするディレクトリがサブディレクトリの場合

パッケージングするディレクトリ

E:¥disk1

AITファイルのパッケージ情報で指定する「インストールプログラム名」

setup.exe

PP識別情報ファイルで指定する「識別用ファイル名」

xxx.ini;yyy.exe

パッケージングするディレクトリがサブディレクトリで，その下にサブディレクトリが存在する場合

パッケージングするディレクトリ

E:¥disk1

AITファイルのパッケージ情報で指定する「インストールプログラム名」

install¥setup.exe

PP識別情報ファイルで指定する「識別用ファイル名」

xxx.ini;install¥yyy.exe

2.6　AITファイルを編集する

レコーディングでAITファイルの原型が自動生成されたあと，AITファイルを手作業で編集します。編集のためには，AITファイルで頻繁に使用されるウィンドウ処理のAPIについて理解しておく必要があります。

ここでは，ウィンドウ処理のAPIについて説明したあと，手作業でどのような修正を加えたらよいのかを説明します。

＜この節の構成＞

2.6.1　ウィンドウ処理について

2.6.2　自動生成されたフラグについて

2.6.3　自動生成されたAITファイルの確認と修正のポイント

2.6.4　パッケージャおよびリモートインストールマネージャとの連動

2.6.5　エラー処理の追加とリターンコードの設定

2.6.6　AITファイルの完成例

2.6.1　ウィンドウ処理について

MAINセクションでは，表示されたダイアログボックスに対して，クライアントユーザが誤って応答したり，キーボードやマウスを操作したりしたために，インストールが中断するような事態に備えて，メイン処理の部分を作成する必要があります。

AITファイルでのウィンドウ処理を次の図に示します。

図2-14　AITファイルでのウィンドウ処理

AITファイルは，ループ中で繰り返しウィンドウを検索します。したがって，クライアントユーザが誤ってAウィンドウに応答してBウィンドウが表示された状態でも，AITファイルはAウィンドウの処理をスキップしてBウィンドウの処理を実行できます。

AITファイルを作成する場合は，出力されるウィンドウを調査し，そのウィンドウに対する処理を並べます。このような処理構造によって，出力されるウィンドウの順序やユーザの操作に関係なく処理を完結できます。

AITファイルでのウィンドウ処理は，次の処理を一つのパーツとしてループ中にシーケンシャルに並べます。

ウィンドウの検索

ウィンドウの操作

これらのウィンドウ処理では，表2-2および表2-3に示すAPIを使用します。

表2-2　ウィンドウの検索で使用するAPI

API名称 | 説明
AIT_FocusWindow | ウィンドウを検索し，フォーカスを設定します。
AIT_CtrlSetFocus | 特定のコントロールにフォーカスを設定します。

表2-3　ウィンドウの操作で使用するAPI

API名称 | 説明
AIT_VerifyExistence | ウィンドウ中に，ボタンやチェックボックスなどのコントロールがあるかないかを確認します。
AIT_VerifyEnabled | コントロールが使用可能かどうかを確認します。
AIT_VerifyPos | コントロールの位置を確認します。
AIT_PlayKey | ［Enter］キーを押すなどの，キーボード操作をシミュレートします。

ウィンドウ処理の注意事項

Windows 8，Windows Server 2012，Windows 7，Windows Server 2008，Windows Vista，Windows Server 2003，Windows XP，またはWindows 2000環境で，AITファイルを使用してソフトウェアをリモートインストールする場合，ウィンドウ操作のAPI（AIT_FocusWindowおよびAIT_CtrlSetFocus）ではアプリケーションにフォーカスが設定できないことがあります。その際は，レコーダ操作のAPIであるAIT_ExecまたはAIT_ExecCommandの実行後に，AIT_PlayKeyで［Alt］+［Tab］キーをシミュレートし，フォーカスをデスクトップから移動してください。

次に，これらのAPIの役割と使用方法について説明します。各APIのパラメタおよび戻り値の詳細については，「4.　APIリファレンス」を参照してください。

＜この項の構成＞

(1)　AIT_FocusWindow

(2)　AIT_CtrlSetFocus

(3)　AIT_VerifyExistence

(4)　AIT_VerifyEnabled

(5)　AIT_VerifyPos

(6)　AIT_PlayKey

(7)　自動生成されたウィンドウ処理の例

(1)　AIT_FocusWindow

AIT_FocusWindowはウィンドウを検索し，そのウィンドウにフォーカスを設定します。AIT_FocusWindowでウィンドウを検索してフォーカスを設定したあと，ウィンドウに対する処理を行います。

ウィンドウを検索するためには，パラメタとして，ウィンドウテキストとクラス名を指定します。ウィンドウテキストとクラス名を調査するには，ウィンドウプロパティツールを使用すると便利です。また，レコーダで自動生成したAITファイルのコードを利用する方法もあります。

戻り値は，ウィンドウの検索に成功した場合はウィンドウハンドル，検索に失敗した場合は0になります。

次に，AIT_FocusWindowの使用例を示します。

図2-15　AIT_FocusWindowの使用例

(2)　AIT_CtrlSetFocus

AIT_CtrlSetFocusは，特定のコントロールにフォーカスを設定します。ウィンドウの中に複数のコントロールがある場合は，AIT_CtrlSetFocusでコントロールにフォーカスを設定し，そのあとユーザ操作をシミュレートします。

コントロールを指定するためには，コントロールのキャプションまたはコントロールIDを指定します。また，コントロールの種類（ボタン，リストボックスなど）も指定します。

次に，コントロールのキャプションを指定したAIT_CtrlSetFocusの使用例を示します。

図2-16　AIT_CtrlSetFocusの使用例

(3)　AIT_VerifyExistence

AIT_VerifyExistenceは，コントロールの存在を確認します。

例えば，同じキャプションを持つウィンドウが複数存在する場合，AIT_FocusWindowでウィンドウにフォーカスを設定しても，そのウィンドウが操作対象でないおそれがあります。このような場合にAIT_VerifyExistenceを使用して，ウィンドウの中に特定のコントロールが存在することを確認し，そのウィンドウが操作対象であることを判定します。

コントロールを指定するためには，コントロールのキャプションまたはコントロールIDを指定します。また，コントロールの種類（ボタン，リストボックスなど）も指定します。戻り値は，コントロールが存在する場合は1，存在しない場合は0になります。

次に，コントロールのキャプションを指定したAIT_VerifyExistenceの使用例を示します。

図2-17　AIT_VerifyExistenceの使用例

(4)　AIT_VerifyEnabled

AIT_VerifyEnabledは，コントロールが使用可能かどうかを確認します。

例えば，チェックボックスとボタンが関連づけられていて，チェックボックスをチェックするとボタンが活性化し（使用可能），チェックを外すとボタンが非活性（使用不可）になる場合があります。このような場合は，AIT_VerifyEnabledでボタンが使用可能かどうかを確認し，使用可能であれば「ボタンを押す」というユーザ操作をシミュレートします。

また，AIT_VerifyEnabledは，AIT_VerifyExistenceやAIT_VerifyPosと組み合わせて使用します。AIT_VerifyExistenceやAIT_VerifyPosでコントロールの存在を確認したあと，そのコントロールが使用可能かどうかを確認します。

コントロールを指定するためには，コントロールのキャプションまたはコントロールIDを指定します。また，コントロールの種類（ボタン，リストボックスなど）も指定します。戻り値は，コントロールが使用可能な場合は1，使用できない場合は0になります。

次に，コントロールのキャプションを指定したAIT_VerifyEnabledの使用例を示します。

図2-18　AIT_VerifyEnabledの使用例

(5)　AIT_VerifyPos

AIT_VerifyPosは，コントロールのタブオーダーを確認します。AIT_VerifyPosはAIT_VerifyExistenceと同様の目的に使用しますが，ウィンドウ中に同じキャプションを持つコントロールが複数存在する場合に，タブオーダーも指定することによって，対象のコントロールの存在を確認します。

コントロールを指定するためには，コントロールのキャプションまたはコントロールIDを指定します。また，コントロールの種類（ボタン，リストボックスなど）とタブオーダーも指定します。戻り値は，コントロールのタブオーダーが指定したパラメタと一致した場合は1，一致しない場合は0になります。

次に，コントロールのキャプションを指定したAIT_VerifyPosの使用例を示します。

図2-19　AIT_VerifyPosの使用例

(6)　AIT_PlayKey

AIT_PlayKeyは，キーボード操作をシミュレートします。

パラメタとして，キーボードから入力する文字列を指定します。例えば，パラメタとして「abcd」を指定すると，「abcd」という文字列が入力されます。また，［Esc］キーの入力を意味する{ESC}や［Alt］＋［F］キーの入力を意味する%(F)など，特殊な意味を持つ文字を入力することもできます。

次に，AIT_PlayKeyの使用例を示します。

図2-20　AIT_PlayKeyの使用例

(7)　自動生成されたウィンドウ処理の例

レコーディングして自動生成されたAITファイルには，ウィンドウの情報やウィンドウに対する処理が記録されています。自動生成されたウィンドウ処理の例を次の図に示します。

図2-21　自動生成されたウィンドウ処理の例

2.6.2　自動生成されたフラグについて

レコーディング中に，同じキャプションを持つ複数のウィンドウが処理される場合，生成されたAITファイルでは一つのウィンドウの処理として記録されます。生成されたAITファイルでは，次に示すフラグを利用して，各ウィンドウの処理を記述しています。

ウィンドウフラグ（AITFLAG1～n）

イベントフラグ（AITEVENTFLAG1～n）

無効フラグ（AITIGNORE）

それぞれについて説明します。

＜この項の構成＞

(1)　ウィンドウフラグ（AITFLAG1～n）

(2)　イベントフラグ（AITEVENTFLAG1～n）

(3)　無効フラグ（AITIGNORE）

(1)　ウィンドウフラグ（AITFLAG1～n）

ウィンドウフラグは，ウィンドウが表示される順序を指定します。ウィンドウフラグの生成例を次に示します。

図2-22　ウィンドウフラグの生成例

(2)　イベントフラグ（AITEVENTFLAG1～n）

イベントフラグは，ウィンドウ操作の順序を指定します。イベントフラグの生成例を次に示します。

図2-23　イベントフラグの生成例

(3)　無効フラグ（AITIGNORE）

無効フラグは，ある一つのウィンドウが閉じる前に次の操作が実行されることを防ぎます。無効フラグの生成例を次に示します。

図2-24　無効フラグの生成例

2.6.3　自動生成されたAITファイルの確認と修正のポイント

レコーダでAITファイルを自動生成したあと，次の事項に注意しながら，生成されたコードを確認，修正してください。

＜この項の構成＞

(1)　インストール条件を変えてレコーディングを繰り返す

(2)　インストール操作の終了を正しく判定する

(3)　変化するテキストをウィンドウの判定に使わない

(4)　無関係なウィンドウに対するコードは削除する

(1)　インストール条件を変えてレコーディングを繰り返す

ハードディスクの空き容量やOSなどのインストール条件に応じて，インストーラは異なるウィンドウを出力します。これらすべてのウィンドウ出力，すべての事象を1回のレコーディングで記録することはできません。すべてのウィンドウに対する操作をシミュレートするためには，インストール条件を変えてレコーディングを繰り返し，複数のAITファイルを生成する必要があります。インストール条件としては，次のような条件が考えられます。

インストール条件 | 説明
OS | OSが異なると，インストーラの出力するウィンドウが異なる場合があります。
PC環境 | ハードディスクの空き容量不足，前提プログラムのインストール有無，新規インストールか上書きインストールかなど，インストール対象のPC環境によって，インストーラの出力するウィンドウが異なる場合があります。
ユーザ操作 | インストール先ディレクトリの変更や，インストール操作のキャンセルなど，ユーザ操作が異なると，インストーラの出力するウィンドウも異なります。

インストール条件ごとに複数のAITファイルが自動生成されたら，それぞれのAITファイルから，必要なコードを抜き出して組み合わせます。必要なコードとは，インストール条件に応じて出力される，異なるウィンドウへの操作をシミュレートするコードです。

複数のAITファイルを組み合わせる場合の例を次の図に示します。

図2-25　複数のAITファイルの組み合わせ例

(2)　インストール操作の終了を正しく判定する

レコーダは，最後にユーザ操作を行ったウィンドウに対して，インストール正常終了のウィンドウ処理を自動生成します。しかし，最後にユーザ操作を行ったウィンドウが，インストールの最後に出力されるウィンドウではないおそれもあります。

例えば，ユーザ操作の最後でReadmeを表示するための「メモ帳」を閉じて，レコーディングを終了した場合，「メモ帳」の操作に対して，インストールの終了処理が自動生成されます。そのため，インストール途中で「メモ帳」が表示されると，実際にはインストール途中であっても，インストールが終了してしまいます。

したがって，レコーディング時には，インストールの最後に出力されるウィンドウで，ユーザ操作を終了するようにしてください。または，手作業でAITファイルを修正し，インストールが終了するまで「メモ帳」を閉じないように順序を制御してください。次にAITファイルの修正例を示します。

図2-26　AITファイルの修正例

また，同じキャプションのダイアログボックスが，インストールの途中と最後に出力される場合，インストール操作の終了判定が正しく行われるように，異なるラベルやボタンを記述して，二つのダイアログボックスを区別してください。

(3)　変化するテキストをウィンドウの判定に使わない

ウィンドウを判定するために，ウィンドウテキストだけでなく，ウィンドウ内のコントロールのテキストを判定条件として使用できます。このような場合，変化するテキストを判定条件に使用しないでください。

例えば，インストール時にPCの空きディスク容量が，「空きディスク容量：2252195 K」のように表示されることがあります。空きディスク容量はインストールするPCによって値が異なるので，「2252195 K」は，ウィンドウを判定する条件として使用できません。

自動生成されたAITファイルに，PC環境やOSによって変化するテキストが判定条件として使用されている場合は，削除してください。または，テキストの変化しない部分（例えば「空きディスク容量」）だけを判定条件として使用してください。

(4)　無関係なウィンドウに対するコードは削除する

レコーディング時に，インストーラとは別のアプリケーションが起動していた場合，インストーラとは無関係なウィンドウに対するコードが生成されているおそれがあります。このような場合には，無関係なウィンドウに対するコードは削除してください。

2.6.4　パッケージャおよびリモートインストールマネージャとの連動

パッケージング時またはリモートインストール時に，「インストール先ディレクトリ」や「所有者名」などのパッケージ内容を変更した場合，AITファイルのPACKAGE_INFOセクションは自動的に書き換えられますが，MAINセクションの関連部分は書き換えられません。そのため，必要に応じて，JP1/NETM/DM固有のグローバル変数を利用してください。使用できるJP1/NETM/DM固有のグローバル変数を示します。

JP1/NETM/DM固有のグローバル変数
説明

InstallerName
PACKAGE_INFOセクションで指定したインストールプログラム名です。この値は，パッケージング時またはリモートインストール時には変更できません。
なお，リモートインストール時は，クライアントのインストールワークディレクトリのパスにインストールプログラム名を結合した値となります。そのため，リモートインストール時とAITファイルのデバッグ時で値が異なります。

InstallDrive
パッケージング時またはリモートインストール時に指定した，インストール先ドライブ名です。デフォルトは，PACKAGE_INFOセクションで指定したインストール先ドライブ名です。

InstallDirectory
パッケージング時またはリモートインストール時に指定した，インストール先ディレクトリ名です。デフォルトは，PACKAGE_INFOセクションで指定したインストール先ディレクトリ名です。

InstallPoint
InstallDrive変数とInstallDirectory変数の内容を結合したインストール位置です。つまり，ドライブ名を含むインストール先ディレクトリです。

EUser
パッケージング時またはリモートインストール時に指定した，所有者名です。英語を入力したらEUserが，日本語を入力したらJUserが使用できます。

JUser

ECompany
パッケージング時またはリモートインストール時に指定した，会社名です。英語を入力したらECompanyが，日本語を入力したらJCompanyが使用できます。

JCompany

SerialNumber
パッケージング時またはリモートインストール時に指定した，シリアルナンバーです。ライセンスキーの入力などに使用します。

IconGroupName
パッケージング時またはリモートインストール時に指定した，アイコングループです。アイコングループの変更などで使用します。

グローバル変数の利用例を次の図に示します。

図2-27　グローバル変数の利用例

2.6.5　エラー処理の追加とリターンコードの設定

異常時にインストーラが出力するウィンドウにも自動応答するように，エラー処理を追加します。インストール時に異常が発生した場合，インストールを続行するか，それともインストールを中断して異常終了とするかを決めて，それに従ったウィンドウ処理をします。

また，インストールが正常に終了したのか，異常終了したのかがわかるようにリターンコードを設定します。リターンコードを設定しておくと，配布管理システムでエラーの内容を確認できます。リターンコードは，ジョブの［詳細情報］ダイアログボックスに表示される保守コードの，左から9番目と10番目に表示される2けたの値です。

異常発生時のエラー処理とリターンコードの設定例を次の図に示します。

図2-28　エラー処理の追加とリターンコードの設定例（1/2）

図2-29　エラー処理の追加とリターンコードの設定例（2/2）

2.6.6　AITファイルの完成例

Acrobat Reader 5.05をリモートインストールする場合の，AITファイルの完成例を示します。なお，JP1/NETM/DMでは，Acrobat Reader 5.05に対応するAITファイルを標準で提供しています。

PACKAGE_INFO
{
 PackageID         = "ADOBEACROBATREADER";
 Product           = "Adobe Acrobat Reader 5.05";
 Version           = "505";
 InstallerName     = "Ar505jpn.exe";
 InstallDrive      = "C:";
 InstallDirectory  = "'¥Program Files'¥Adobe'¥Acrobat 5.0";
}
DEFINE
{
 integer iLoopCount = 0;
 integer iLoopMax = 60;
 integer DM_RTN;
 integer WINH;
 bool bRtn;
 const integer OK_END = 0;
 const integer NG_END = -1;
 float SLEEP_TIME = 1.0;
 float SLEEP_TIME_RESTART = 10.0;
 float SLEEP_TIME_EVENTS = 0.5;
 integer InsufficientMemory;
 integer InvalidPath;
 integer DirectorySetFlag;
}
MAIN
{
 AIT_SetDefaultWaitTimeout(1.0);
 AIT_DMPSTRC();
 DM_RTN = NG_END;
 bRtn= AIT_Exec(InstallerName,SW_SHOWNORMAL);
 if(bRtn == false)
         iLoopCount = iLoopMax;
 Endif;
 while(iLoopCount < iLoopMax)
     if(AIT_FocusWindow("Acrobat Readerを解凍中です...", "#32770") > 0)
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("Unpacking Acrobat Reader...", "#32770") > 0)
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("セットアップの中止", "#32770") > 0)
         if (InvalidPath == 1 || InsufficientMemory == 1)
             AIT_PlayKey("%(y)");
             iLoopCount = iLoopMax;
         else
             AIT_PlayKey("%(n)");
             iLoopCount = 0;
         endif;
         AIT_Sleep(SLEEP_TIME);
     Endif;

     if(AIT_FocusWindow("上書き確認", "#32770") > 0)
         AIT_PlayKey("%(e)");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("セットアップ初期化エラー", "#32770") > 0)
         AIT_PlayKey("{ENTER}");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
     Endif;

     if(AIT_FocusWindow("PackageForTheWeb", "#32770") > 0)
         if (InsufficientMemory == 1)
             AIT_PlayKey("%(y)");
             iLoopCount = iLoopMax;
         else
             AIT_PlayKey("%(n)");
             iLoopCount = 0;
         endif;
         AIT_Sleep(SLEEP_TIME);
     Endif;

     if(AIT_FocusWindow("Error", "#32770") > 0)
         AIT_PlayKey("{ENTER}");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("セットアップの完了", "#32770") > 0)
         AIT_PlayKey("{DOWN}");
         AIT_PlayKey("{ENTER}");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
         DM_RTN = OK_END;
     Endif;

     if(AIT_FocusWindow("PackageForTheWeb Stub", "#32770") > 0)
         AIT_PlayKey("%(C)");
         InsufficientMemory = 1;
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
     Endif;

     if(AIT_FocusWindow("Ar505jpn", "#32770") > 0)
         AIT_PlayKey("%(C)");
         InsufficientMemory = 1;
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
     Endif;

     if(AIT_FocusWindow("_ins5576", "#32770") > 0)
         AIT_PlayKey("%(C)");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
     Endif;

     if(AIT_FocusWindow("PackageForTheWeb Error", "#32770") > 0)
         AIT_PlayKey("{ENTER}");
         InsufficientMemory = 1;
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
     Endif;

     if(AIT_FocusWindow("PackageForTheWeb エラー", "#32770") > 0)
         AIT_PlayKey("{ENTER}");
         InsufficientMemory = 1;
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
     Endif;

     if(AIT_FocusWindow("+TEMP", "#32770") > 0)
         AIT_PlayKey("{ENTER}");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("エラー", "#32770") > 0)
         if (AIT_VerifyExistence("中止(&A)",BUTTON_CTRL) > 0)
             AIT_PlayKey("%(a)");
             iLoopCount = iLoopMax;
         else
             if (AIT_VerifyExistence("OK",BUTTON_CTRL) > 0)
                 AIT_PlayKey("{ENTER}");
                 InsufficientMemory = 1;
                 iLoopCount = 0;
             endif;
         endif;
         AIT_Sleep(SLEEP_TIME);
     Endif;

     if(AIT_FocusWindow("警告", "#32770") > 0)
         AIT_PlayKey("{ENTER}");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
     Endif;

     if(AIT_FocusWindow("質問", "#32770") > 0)
         AIT_PlayKey("%(n)");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("ComponentMoveData Error Information", "#32770") > 0)
         AIT_PlayKey("{ENTER}");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("Acrobat Reader のセットアップ", "#32770") > 0)
         AIT_PlayKey("{ENTER}");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = iLoopMax;
     Endif;

     if(AIT_FocusWindow("ディスク空き容量不足", "#32770") > 0)
         AIT_PlayKey("{ESC}");
         InsufficientMemory = 1;
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("読み取り専用ファイルの検出", "#32770") > 0)
         AIT_PlayKey("%(y)");
         AIT_Sleep(SLEEP_TIME);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("Acrobat Reader", "#32770") > 0)
         InsufficientMemory = 1;
         if (AIT_VerifyExistence("再試行(&R)",BUTTON_CTRL) > 0)
             AIT_PlayKey("{ESC}");
             iLoopCount = iLoopMax;
         else
             if (AIT_VerifyExistence("OK",BUTTON_CTRL) > 0)
                 AIT_PlayKey("{ENTER}");
                 iLoopCount = iLoopMax;
             endif;
         endif;
         AIT_Sleep(SLEEP_TIME);
     Endif;

     if(AIT_FocusWindow("セットアップ", "#32770") > 0)
         if(AIT_VerifyExistence("~ディレクトリ",STATIC_CTRL) > 0)
             AIT_PlayKey("%(y)");
             AIT_Sleep(SLEEP_TIME);
         else
             if(AIT_VerifyExistence("~指定されたディレクトリ",STATIC_CTRL) > 0)
                 InvalidPath = 1;
                 AIT_PlayKey("{ENTER}");
                 AIT_Sleep(SLEEP_TIME);
                 iLoopCount = 0;
             endif;
         endif;
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("Acrobat Reader 5.0.5 のセットアップ", "#32770") > 0)
         AIT_PlayKey("%(n)");
         AIT_Sleep(SLEEP_TIME_EVENTS);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("インストール先の選択", "#32770") > 0)
         if ( (AIT_FindSubStr(InstallPoint,"%",0) != -1) || (AIT_FindSubStr(InstallPoint,"~",0) != -1) )
             InvalidPath = 1;
             DirectorySetFlag = 1;
         endif;
         if (DirectorySetFlag == 0)
             AIT_PlayKey("%(r)");
         else
             if (InvalidPath == 1 || InsufficientMemory == 1)
                 AIT_PlayKey("{ESC}");
             else
                 AIT_PlayKey("%(n)");
             endif;
         endif;
         AIT_Sleep(SLEEP_TIME_EVENTS);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("ディレクトリの選択", "#32770") > 0)
         if (InvalidPath == 1)
             AIT_PlayKey("{ESC}");
         else
             if (DirectorySetFlag == 1)
                 AIT_PlayKey("{ENTER}");
             else
                 AIT_PlayKey("%(p)");
                 AIT_PlayKey(InstallPoint);
                 AIT_PlayKey("{ENTER}");
                 DirectorySetFlag = 1;
             endif;
         endif;
         AIT_Sleep(SLEEP_TIME_EVENTS);
         iLoopCount = 0;
     Endif;

     if(AIT_FocusWindow("情報", "#32770") > 0)
         if (AIT_VerifyExistence("Acrobat Reader を御選択いただきありがとうございました。",STATIC_CTRL) == 1)
             AIT_PlayKey("{ENTER}");
             if(InsufficientMemory == 0)
                 DM_RTN = OK_END;
             endif;
         else
             if(AIT_VerifyExistence("セットアップを終了します。",STATIC_CTRL) == 1)
                 AIT_PlayKey("{ENTER}");
             endif;
         endif;
         iLoopCount = iLoopMax;
     Endif;

     if (AIT_FocusWindow("", "#32770") > 0)
         if(AIT_VerifyExistence("はい(&Y)",BUTTON_CTRL) > 0)
             AIT_PlayKey("%(y)");
             iLoopCount = iLoopMax;
         endif;
         AIT_Sleep(SLEEP_TIME);
     endif;

     if (AIT_FocusWindow("", "#32770") > 0)
         if(AIT_VerifyExistence("OK",BUTTON_CTRL) > 0)
             AIT_PlayKey("{ENTER}");
             iLoopCount = iLoopMax;
         endif;
         AIT_Sleep(SLEEP_TIME);
     endif;

     if(AIT_FocusWindow("Acrobat Reader のセットアップ", "InstallShield_Win") > 0)
         AIT_Sleep(SLEEP_TIME_EVENTS);
         iLoopCount=0;
     Endif;

     iLoopCount = iLoopCount + 1;
     AIT_Sleep(SLEEP_TIME);
 loop;
 WINH = AIT_RegisterWindowMessage("DMP_REC_QUIT");
 if(WINH != 0)
     AIT_PostMessage(HWND_BROADCAST,WINH,DM_RTN,0);
 Endif;
}
ERROR
{
 DM_RTN = NG_END;
 WINH = AIT_RegisterWindowMessage("DMP_REC_QUIT");
 if(WINH != 0)
     AIT_PostMessage(HWND_BROADCAST,WINH,DM_RTN,0);
 Endif;
}

2.7　AITファイルをデバッグする

一とおりAITファイルの作成が終わったら，文法チェック，実行，デバッグを繰り返し，ユーザ操作を正しくシミュレートするAITファイルを完成させます。AITファイルを実行するために，コンパイルする必要はありません。

なお，Windows 8・Windows Server 2012・Windows 7・Windows Server 2008・Windows Vista版JP1/NETM/DMClientでAdministrator権限を必要とするプログラムのAITファイルをデバッグする場合，Administrator権限で［Automatic Installation Tool］ウィンドウを起動してください。プログラムが一般ユーザ権限で実行できる場合は，Administrator権限および一般ユーザ権限のどちらからでもデバッグを実行できます。

AITファイルのデバッグの流れを次の図に示します。

図2-30　AITファイルのデバッグの流れ

AITファイルを開くと，コーディングのバグを修正するための［ビルド］メニューと［デバッグ］メニューが使用可能になります。

［ビルド］メニューは，AITファイルの文法上の誤りを検出したり，アクティブなAITファイルを実行したりできます。

［デバッグ］メニューは，ブレークポイントを設定することによって，AITファイルを指定した位置まで実行できます。また，監視ウィンドウで変数の値を参照したり，更新したりできます。

これらの機能は，拡張子.aisを持つAITファイルにだけ有効です。

デバッグ時の注意事項

PACKAGE_INFOセクションのInstallerNameには，インストールプログラム名が，パッケージングするディレクトリからの相対パスで記述されています。デバッグ時には，一時的にMAINセクションで，これを絶対パスに置き換える必要があります。デバッグが完了したら，元に戻しておいてください。ただし，［文法チェック］のときは，絶対パスに置き換える必要はありません。次に，InstallerNameを絶対パスに置き換える例を示します。

図2-31　InstallerNameを絶対パスに置き換える例

＜この節の構成＞

2.7.1　文法チェックと実行

2.7.2　デバッグ

2.7.1　文法チェックと実行

Automatic Installation Toolでは，次の［ビルド］メニューを使用して，AITファイルの文法チェックと実行ができます。

文法チェック
アクティブなAITファイルの文法をチェックし，アウトプットウィンドウに文法エラーと警告を表示します。

実行
アクティブなAITファイルの文法をチェックしたあと，エラーがなければ，AITファイルを実行します。AITファイルの実行が完了すると，終了コードがアウトプットウィンドウに表示されます。エラーがあった場合は，アウトプットウィンドウに文法エラーと警告が表示されます。

図2-32　アウトプットウィンドウ

アウトプットウィンドウは，［表示］メニューの［アウトプット］を選択して，表示／非表示を切り替えることができます。

2.7.2　デバッグ

AITファイルのデバッグを容易にするために，特定の位置でAITファイルの実行を停止できます。AITファイルの実行が停止すると，監視ウィンドウでは変数の値が表示または更新されます。

AITファイルは，次の単位で実行できます。

設定したブレークポイントまで

カーソル行の前まで

ステートメント単位

＜この項の構成＞

(1)　ブレークポイントを設定する

(2)　特定の位置まで実行する

(3)　変数を監視，変更する

(1)　ブレークポイントを設定する

ブレークポイントとは，デバッグプロセスを停止するポイントです。ブレークポイントは任意の行に追加でき，有効にしたり無効にしたりできます。ブレークポイントが行内に設定されている場合，それが有効な状態であれば，編集ウィンドウの左側にカラーの丸が表示され，無効な状態であれば白丸が表示されます。不要なブレークポイントは削除できます。また，設定したブレークポイントは，AITファイルを閉じると解除されます。

ブレークポイントの追加，削除，有効化，および無効化は，［ブレークポイントの設定］または［ブレークポイントの追加／削除］メニューで実行します。

(a)　［ブレークポイントの設定］を使って，ブレークポイントを設定する

［ブレークポイントの設定］ダイアログボックスで，ブレークポイントを追加，削除，有効化，無効化する方法を説明します。

AITファイルを開き，［デバッグ］－［ブレークポイントの設定］を選択する。
［ブレークポイントの設定］ダイアログボックスが表示されます。

図2-33　［ブレークポイントの設定］ダイアログボックス

ブレークポイント行番号

ブレークポイントを追加したい行番号を入力し，［追加］ボタンをクリックすると，指定した行にブレークポイントが追加されます。

ブレークポイント

アクティブなAITファイルに設定されているすべてのブレークポイントが表示されます。行番号に対応するチェックボックスをオンにすると，ブレークポイントは有効になり，オフにすると無効になります。

［削除］ボタン

「ブレークポイント」欄で選択した行番号のブレークポイントを削除します。

［すべて削除］ボタン

設定しているすべてのブレークポイントを削除します。

ブレークポイントを設定して，［OK］ボタンをクリックする。
［ブレークポイントの設定］ダイアログボックスでの設定が，編集ウィンドウに反映されます。編集ウィンドウを次の図に示します。

図2-34　編集ウィンドウ

(b)　［ブレークポイントの追加／削除］を使って，ブレークポイントを設定する

［ブレークポイントの設定］ダイアログボックスを使用しないで，編集ウィンドウ中で，ブレークポイントを追加，削除，および有効にする方法を次に示します。

AITファイルを開き，デバッグプロセスを停止させたい行にカーソルを移動する。

［デバッグ］－［ブレークポイントの追加／削除］を選択する。
選択した行によって，次の処理が実施されます。

ブレークポイントのない行
ブレークポイントが有効な状態で追加されます。

有効なブレークポイントがある行
ブレークポイントが削除されます。

無効なブレークポイントがある行
ブレークポイントが有効になります。

なお，［ブレークポイントの追加／削除］メニューを選択する代わりに，［F9］キーをショートカットキーとして使用することもできます。

(2)　特定の位置まで実行する

現在の位置から特定の位置までAITファイルを実行できます。

特定の位置で実行を停止させるには，次の方法があります。

ブレークポイントを設定して［デバッグ］－［実行］を選択する。

任意の位置にカーソルを移動して［デバッグ］－［カーソル行の前まで実行］を選択する。

［デバッグ］－［ステップオーバー］を選択し，ステートメント単位で実行する。

なお，デバッグを終了するには［デバッグ］－［デバッグの中断］を選択します。

(a)　ブレークポイントまで実行する

設定したブレークポイントまでAITファイルを実行します。コメントやブランクだけなどの実行できない行に設定されているブレークポイントは，デバッグが開始されると，その直後の実行可能な行に移動します。

AITファイルの任意の位置にブレークポイントを設定する。
ブレークポイントの設定方法については，「(1)　ブレークポイントを設定する」を参照してください。

［デバッグ］－［実行］を選択する。
最初のブレークポイントまでステートメントが実行され，ブレークポイント行にデバッグカーソルが移動します。

操作2を繰り返して次のブレークポイントまで実行するか，そのほかの［デバッグ］メニュー項目を選択する。

(b)　カーソル行の前まで実行する

カーソルのある行の前までAITファイルを実行します。

AITファイルの任意の位置にカーソルを移動する。

［デバッグ］－［カーソル行の前まで実行］を選択する。
カーソル行の前までステートメントが実行され，操作1で指定した位置にデバッグカーソルが移動します。

操作1と操作2を繰り返して次のカーソル行の前まで実行するか，そのほかの［デバッグ］メニュー項目を選択する。

(c)　ステートメント単位で実行する

AITファイルの終わりまで，または「デバッグの中断」を選択してデバッグプロセスを中断するまで，スクリプトを1ステートメントずつ実行できます。

AITファイルを開く。

［デバッグ］－［ステップオーバー］を選択する。
最初のステートメント行が実行され，デバッグカーソルは次のステートメント行に移動します。

操作2を繰り返して現在のステートメント行を実行するか，そのほかの［デバッグ］メニュー項目を選択する。

(3)　変数を監視，変更する

AITファイルをデバッグするとき，指定した変数の値を監視ウィンドウに表示して，監視できます。特定の位置でAITファイルの実行が停止したとき，現在の変数の値が監視ウィンドウに表示されます。監視ウィンドウを使用して，変数の値を変更することもできます。

次に，監視ウィンドウで，指定した変数を監視する方法を示します。

AITファイルのデバッグ時に，［表示］－［監視ウィンドウ］を選択する。
監視ウィンドウが表示されます。

図2-35　監視ウィンドウ

「変数」欄に変数名を入力し，［Enter］キーを押す。
編集ウィンドウから監視ウィンドウに，変数をドラッグ＆ドロップして，変数名を入力することもできます。
監視ウィンドウには，変数の値が表示されます。数値データは，デフォルトでは10進数で表示されますが，右クリックして表示されるメニューから［16進数表示］を選択して，16進数で表示することもできます。文字列データは文字列定数で表示されます。
監視ウィンドウで指定した変数名がAITファイルで定義されていない場合は，エラーメッセージが表示されます。

特定の位置まで，AITファイルを実行する。
現在の変数の値が監視ウィンドウに表示されます。

変数の値を変更したい場合は，監視ウィンドウで新しい値を入力して，［Enter］キーを押す。
AITファイル内の変数の値が変更されます。

監視が不要になった変数を監視ウィンドウから削除するには，監視ウィンドウで削除したい変数を選択し，［Delete］キーを押します。

3.　AIT言語リファレンス

この章では，AITファイルの形式と，AIT言語の構文について説明します。

＜この章の構成＞

3.1　AITファイルの形式

3.2　セクション

3.3　データ型

3.4　演算子

3.5　変数と定数

3.6　プログラムフローの制御

3.7　関数呼び出し

3.8　キーワード

3.9　マクロ

3.1　AITファイルの形式

AITファイルは，次の四つのセクションで構成されます。

PACKAGE_INFO

DEFINE

MAIN

ERROR

これらすべてのセクションは必須です。また，セクションの順序は変更できません。

AITファイルの形式を次に示します。AIT言語では，大文字と小文字が区別されません。また，スクリプト中にはコメントを記述できます。

AITファイルの形式

PACKAGE_INFO
{
  // パッケージ情報
}

DEFINE
{
  // 変数と定数の定義および初期化
}

MAIN
{
  // ウィンドウに対する操作
}

ERROR
{
  // エラー発生時の処理
}

3.2　セクション

AITファイルに記述するセクションについて説明します。

＜この節の構成＞

3.2.1　PACKAGE_INFO

3.2.2　DEFINE

3.2.3　MAIN

3.2.4　ERROR

3.2.1　PACKAGE_INFO

配布するソフトウェアの，パッケージ情報とセットアップに必要な情報を指定します。

このセクションで指定する項目を次に示します。

＜この項の構成＞

(1)　形式

(2)　記述する項目

(3)　記述例

(1)　形式

次に示す項目を指定できます。これら以外は指定できません。

PackageID = "パッケージ識別ID";
Product  =  "パッケージ名";
Version = "バージョン/リビジョン";
InstallerName = "インストールプログラム名";
InstallDrive = "インストール先ドライブ";
InstallDirectory = "インストール先ディレクトリ";
IconGroupName = "アイコングループ";
SerialNumber = "シリアルナンバー";
EUser = "英語の所有者名";
ECompany = "英語の会社名";
JUser = "日本語の所有者名";
JCompany = "日本語の会社名";
ScriptFileVersion = "AITファイルのバージョン";

なお，「EUser」と「ECompany」の組み合わせと，「JUser」と「JCompany」の組み合わせは，どちらか一組しか指定できません。

(2)　記述する項目

PACKAGE_INFOセクションに記述する各項目について説明します。どの項目にも，「¥n」，「¥r」，「¥t」のような特殊な意味を持つ文字は使用できません。

項目名
内容
省略

PackageID
パッケージ識別IDを，1～44バイトで指定します。
半角英数字（英字は大文字だけ），「-」（ハイフン），または「_」（アンダーバー）で指定します。
不可

Product
パッケージ名を，1～50バイトで指定します。
「¥」は使用できません。
不可

Version
ソフトウェアのバージョン/リビジョンを，1～6バイトで指定します。
英数字（英字は大文字だけ）と「/」（スラッシュ）で指定します。
不可

InstallerName
ソフトウェアをインストールするときの，インストールプログラム（インストーラ）の名前を，1～256バイトで指定します。
次に示す記号は使用できません。
「*」「"」「:」「|」「<」「>」「?」
不可

InstallDrive
ソフトウェアをインストールするドライブを，2バイトで指定します。
半角英数字および「:」（コロン）で指定します。
不可

InstallDirectory
ソフトウェアをインストールするディレクトリを指定します。
「¥」で始まるパス名を，1～128バイトで指定します。
不可

IconGroupName
ソフトウェアのアイコングループを，1～40バイトで指定します。
可

SerialNumber
インストールするソフトウェアのシリアルナンバーを，1～64バイトで指定します。
インストール時にCDキーの必要なソフトウェアは，CDキーを入力してください。
可

EUser
英語版のソフトウェアの場合に，ソフトウェアの所有者名を1～40バイトで指定します。
半角英数字で指定します。
可

ECompany
英語版のソフトウェアの場合に，ソフトウェアを所有する会社名を1～80バイトで指定します。
半角英数字で指定します。
可

JUser
日本語版のソフトウェアの場合に，ソフトウェアの所有者名を1～40バイトで指定します。
可

JCompany
日本語版のソフトウェアの場合に，ソフトウェアを所有する会社名を1～80バイトで指定します。
可

ScriptFileVersion
「nn.nn.nn.nn」の形式で，数字で指定します。「.」（ドット）は連続して指定できません。「.」（ドット）で区切った四つのnnはすべて記述してください。四つ目の区切りの値が指定されていない場合，その区切りはゼロと見なされます。例えば，"1.0.0."は，"1.0.0.0"として扱われます。
この情報を指定することで，Automatic Installation Toolの新しいバージョンで作成されたAITファイルが，古いバージョンの実行エンジンで実行されなくなります。
なお，AITファイルのバージョンがPACKAGE_INFOセクションに記述されていない場合は，アクティブな実行エンジンのDLLのバージョンがAITファイルのバージョンとして取得されます。
可

(3)　記述例

PACKAGE_INFO
{
  PackageID = "D";
  Version = "1";
  Product = "パッケージ名";
  InstallerName = "インストールプログラム名";
  InstallDrive = "D:";
  InstallDirectory = "¥Plan14.1";
  JUser = "パッケージの所有者名";
  JCompany = "パッケージを所有する会社名";
  SerialNumber = "パッケージのシリアルナンバー";
  IconGroupName= "アイコングループ名";
  ScriptFileVersion = "1.0.0.0";
}

3.2.2　DEFINE

AITファイルに記述するすべての変数および定数を定義します。このセクションでは，変数と定数の宣言および初期化だけができます。変数および定数以外の構文は指定できません。

＜この項の構成＞

(1)　記述例

(2)　備考

(1)　記述例

DEFINE
{
   const integer OK_END = 0, NG_END = -1 ;
   string sMsgText;
   float TimeOut;
   bool sInvalidPathFlag = false;
}

(2)　備考

変数の再定義はできません。

宣言していない変数を使用すると，文法チェック時に，アウトプットウィンドウに警告メッセージが表示されます。

3.2.3　MAIN

ソフトウェアの自動インストールに必要な処理を記述します。このセクションでは，データ型宣言以外のすべての構文を使用できます。

また，インストール結果のリターンコードをJP1/NETM/DM Clientに通知する指定もできます。

＜この項の構成＞

(1)　記述例

(1)　記述例

MAIN
{
   AIT_SetDefaultWaitTimeout(1.0);
   AIT_DMPSTRC();
   DM_RTN = NG_END;
   AIT_InitLog(InstallerName);
   bRtn= AIT_Exec(InstallerName,SW_SHOWNORMAL);
   if(bRtn == false)
       iErrorNo = AIT_GetLastError();
       strErrorTxt = AIT_GetErrorText(iErrorNo);
       AIT_LogMessage(strErrorTxt);
       iLoopCount = iLoopMax;
   else
       AIT_LogMessage("Recorder File started");
   Endif;
   while(iLoopCount < iLoopMax)
       if(AIT_FocusWindow("check", "#32770") > 0)
           AIT_LogMessage("Window - Caption: check, Class Name: #32770");
           AIT_CtrlSetFocus("チェックボックス(&C)",CHECKBOX_CTRL);
           AIT_Sleep(SLEEP_TIME_EVENTS);
           AIT_LogMessage("AIT_CtrlSetFocus('"チェックボックス(&C)'",CHECKBOX_CTRL);");
           AIT_PlayKey("{ENTER}");
           AIT_Sleep(SLEEP_TIME_EVENTS);
           AIT_LogMessage("AIT_PlayKey('"{ENTER}'");");
           iLoopCount = iLoopMax;
           DM_RTN = OK_END;
           continue;
       Endif;
       iLoopCount = iLoopCount + 1;
       AIT_Sleep(SLEEP_TIME);
   loop;
   if(DM_RTN == OK_END)
       AIT_LogMessage("Recorder File ended normally");
   else
       AIT_LogMessage("Recorder File ended Abnormally");
   Endif;
   WINH = AIT_RegisterWindowMessage("DMP_REC_QUIT");
   if(WINH != 0)
       AIT_PostMessage(HWND_BROADCAST,WINH,DM_RTN,0);
   Endif;
}

3.2.4　ERROR

実行の異常終了時に実行されるステートメントを記述します。インストール結果のリターンコードをJP1/NETM/DM Clientに通知する指定ができます。

AITファイルの実行時にエラーが発生すると，このセクションに実行制御が移ります。

＜この項の構成＞

(1)　記述例

(1)　記述例

ERROR
{
  WINH = AIT_RegisterWindowMessage("DMP_REC_QUIT");
    if  (WINH != 0)
      AIT_PostMessage (HWND_BROADCAST,WINH,-1,0);
    endif;
}

3.3　データ型

AITファイルに記述するデータ型について説明します。以降に示す基本データ型がサポートされています。

＜この節の構成＞

3.3.1　integer型

3.3.2　float型

3.3.3　bool型

3.3.4　string型

3.3.1　integer型

integer型は，-2,147,483,648～+2,147,483,647の数字を含む基本データ型です。数字に小数や指数を含むことはできません。

キーワード「integer」を使用すると，integer型変数の宣言や，変数や定数を初期化できます。このキーワードはDEFINEセクションだけで使用できます。複数の変数を宣言するときは，変数を「,」（コンマ）で区切ってください。

また，キーワード「integer」と組み合わせてキーワード「const」を使用すると，定数を宣言できます。DEFINEセクションで宣言した定数は，値を参照できるようになりますが，MAINセクションやERRORセクションで値を変更することはできません。

＜この項の構成＞

(1)　形式

(2)　記述例

(3)　備考

(1)　形式

DEFINE
{
  [const] integer variable_name1 [= integer_constant1] [, variable_name2 [= integer_constant2] ] ;
}

(2)　記述例

DEFINE
{
   const integer OK_END = 0, NG_END = -1 ; // 有効
   integer end_status, return_code;        // 0に初期化
}

(3)　備考

変数や定数を初期化する場合，初期化の値は10進数でだけ指定できます。

integer型変数に割り当てられる値は，integer型，bool型，float型のどれかです。ただし，値がfloat型の場合は正確性を欠くおそれがあるため，文法チェック時に，アウトプットウィンドウに警告メッセージが表示されます。

すべての変数は，デフォルトで0に初期化されます。(2)の例での「end_status」および「return_code」は，0で初期化されています。

3.3.2　float型

float型は，32ビット浮動小数点数を含む基本データ型です。float型変数および定数は，+3.40282347e+38～+1.175494351e-38の絶対値を持てます。

キーワード「float」を使用すると，float型変数または定数を宣言し初期化できます。このキーワードはDEFINEセクションでだけ使用できます。複数の変数を宣言するときは，変数を「,」（コンマ）で区切ってください。

また，キーワード「float」と組み合わせて，キーワード「const」を使用すると，定数を宣言できます。DEFINEセクションで宣言した定数は，値を参照できるようになりますが，MAINセクションやERRORセクションで値を変更することはできません。

＜この項の構成＞

(1)　形式

(2)　記述例

(3)　備考

(1)　形式

DEFINE
{
   [const] float variable_name1 [= float_constant1] [, variable_name2 [= float_constant2] ] ;
}

浮動小数点数には，小数点または指数表現（"E"または"e"）を含められます。指数部には，"E"または"e"と，その後に整数値を指定します。整数値には符号（"+"または"-"）を付けられます。浮動小数点定数には，1けた以上の数字が必要で，小数点または指数を指定する必要があります。

(2)　記述例

DEFINE
{
   float DefaultTimeOut = 0.01, DefaultSleep=5.0 ; // 有効
   float SleepMax;                                 // 有効
}

(3)　備考

浮動小数点定数は，10進数でだけ指定できます。

float型変数に割り当てられる値は，bool型，float型，integer型のどれかです。

float型変数は，デフォルトで0に初期化されます。(2)の例での「SleepMax」は，0で初期化されています。

float型で有効なけた数は11です（小数点を含む）。

3.3.3　bool型

bool型は，true（真）およびfalse（偽）という値を持つデータ型です。trueとfalseの間には，次の関係が成り立ちます。

「!false」は「true」と同じ意味

「!true」は「false」と同じ意味

キーワード「bool」を使用すると，bool型変数や定数を宣言し初期化できます。このキーワードは，DEFINEセクションでだけ使用できます。複数の変数を宣言するときは，これらの変数を「,」（コンマ）で区切ってください。

また，キーワード「bool」と組み合わせて，キーワード「const」を使用すると，定数を宣言できます。DEFINEセクションで宣言した定数は，値を参照できるようになりますが，MAINセクションやERRORセクションで値を変更することはできません。

なお，比較によって0と評価された式はfalse，0以外の数値と評価された式はtrueとして解釈されます。

＜この項の構成＞

(1)　形式

(2)　記述例

(3)　備考

(1)　形式

DEFINE
{
   [const] bool variable_name1 [= true|false] [, variable_name2 [= true|false] ] ;
}

(2)　記述例

DEFINE
{
   bool sInvalidPathFlag, sDirectorySetFlag = true;
   bool SMemoryInsuff = false;
   bool sEndGUI = false;
}

(3)　備考

bool型変数に割り当てられる値は，integer型，float型のどちらかです。ただし，どちらの場合も正確性を欠くおそれがあるため，文法チェック時に，アウトプットウィンドウに警告メッセージが発行されます。

すべての変数は，デフォルトでfalseに初期化されます。(2)の例での「sInvalidPathFlag」は，falseで初期化されています。

3.3.4　string型

string型は，可変長の文字列を持つ基本データ型です。

キーワード「string」を使用すると，string型変数や定数を宣言し初期化できます。このキーワードは，DEFINEセクションでだけ使用できます。複数の変数を宣言するときは，変数を「,」（コンマ）で区切ってください。

また，キーワード「string」と組み合わせて，キーワード「const」を使用すると，定数を宣言できます。DEFINEセクションで宣言した定数は，値を参照できるようになりますが，MAINセクションやERRORセクションで値を変更することはできません。

文字列定数を指定するには，文字を「"」（ダブルクォーテーション）で囲みます。文字列内部で「"」を使用するときは，直前に「'」（シングルクォーテーション）を指定してください。

＜この項の構成＞

(1)　形式

(2)　記述例

(3)　備考

(1)　形式

DEFINE
{
   [const] string variable_name1 [= "StringValue"] [, variable_name2 [= integer_constant2] ] ;
}

(2)　記述例

DEFINE
{
   string CaptionName="Setup";  // 有効
   string ErrorText;            // 有効
}

(3)　備考

string型変数は，連結操作の結果として文字列長が増えることがあります。

すべての変数は，デフォルトで空になります。(2)の例での「ErrorText」は空になります。

string型は，行末に「_」（アンダーバー）を記述することで次の行に続けることができます。次に示す例のように記述した場合，文字列変数「ErrorText」の値は「sample Testing success」になります。
例

DEFINE
{
  string ErrorText = "sample_
Testing_
success";   // stringは複数行に続いています。
}

次に示す文字は，文字列内で特殊な文字として扱われます。

文字 | 扱い
¥n | 改行
¥r | 復帰
¥t | タブ文字
'¥ | 「¥」
'" | 「"」
'' | 「'」

文字列変数「ErrorText」に「"Sample Testing"」を代入する場合の記述例を次に示します。
例

DEFINE
{
  string ErrorText = "'"Sample Testing'"";
         // 「Sample Testing」を「'"」で囲みます。
}

文字列変数「Path」に「C:¥Windows¥system32」を代入する場合の記述例を次に示します。
例

DEFINE
{
  string Path = "C:'¥Windows'¥system32";
         // 「C:¥Windows¥system32」を「Path」に代入します。
}

3.4　演算子

演算子は，次の評価をするために指定します。

一つのオペランド（単項演算子）

二つのオペランド（二項演算子）

演算子を含む複数の式が評価される順番は，厳密な優先順位に従って定義されています。演算子は，左のオペランドと右のオペランドのどちらかと結合します。これを「結合順序」と呼びます。同じグループ内の演算子は同じ優先順位を持ち，「( )」（丸括弧）を使用して明示的に優先順位を変更しないかぎり，オペランドの左から右に評価されます。

AIT言語でサポートしている演算子を表3-1および表3-2に示します。

表3-1　AIT言語でサポートしている単項演算子

単項演算子 | 意味
+ | 単項プラス
- | 単項マイナス
! | 単項否定

表3-2　AIT言語でサポートしている二項演算子

二項演算子 | 意味
+ - | 加法演算子
* / % | 乗除演算子
< <= > >= != == | 比較演算子
& | | ビット単位演算子
&& || | 論理演算子

＜この節の構成＞

3.4.1　代入操作

3.4.2　単項プラス

3.4.3　単項マイナス

3.4.4　単項否定

3.4.5　加法演算子

3.4.6　乗除演算子

3.4.7　比較演算子

3.4.8　ビット単位演算子

3.4.9　論理演算子

3.4.10　演算子の優先順位

3.4.1　代入操作

代入操作では，右オペランドの値を左オペランドに割り当てます。代入操作の左オペランドは定数ではありません。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

代入ステートメント

assignment_expression END_STMT

代入式

identifier assign_operand expression

(2)　説明

代入操作では，右の値の型は左の値の型に変換され，割り当て後は左オペランドに値が格納されます。左オペランドは関数または定数にしないでください。

右オペランドと左オペランドの型が異なる場合は，型変更が実行されます。型変更は，指定された演算子と，オペランドまたは演算子の型に応じて実行されます。

AIT言語で実行される型変更を次の表に示します。警告やエラーは文法チェック時に表示されます。

左オペランドの型 | 右オペランドの型 | 結果 | 説明
integer | integer | integer | integer型変数の値が別のinteger型変数に代入されます。
integer | float | integer | 切り捨て後の値がinteger型変数に代入されます。データの正確性が損なわれるため警告が表示されます。
integer | bool | integer | trueは1として，falseは0としてinteger型変数に代入されます。
integer | string | エラー | string値はintegerに型変更できないため，エラーが表示されます。
float | integer | float | integer型変数の値がfloat型変数に代入されます。
float | float | float | float型変数の値が別のfloat型変数に代入されます。
float | bool | float | trueは1.0として，falseは0.0としてfloat型変数に代入されます。
float | string | エラー | string値はfloatに型変更できないため，エラーが表示されます。
bool | integer | bool | 0以外の値はtrueとして，0はfalseとしてbool型変数に代入されます。データが失われるため警告が表示されます。
bool | float | bool
bool | bool | bool | bool型変数の値が別のbool型変数に代入されます。
bool | string | エラー | string型変数の値はboolに型変更できないため，エラーが表示されます。
string | integer | エラー | integer型変数の値はstringに型変更できないため，エラーが表示されます。
string | float | エラー | float型変数の値はstringに型変更できないため，エラーが表示されます。
string | bool | エラー | bool型変数の値はstringに型変更できないため，エラーが表示されます。
string | string | string | string型変数の値が別のstring型変数に代入されます。

なお，AIT言語では多重代入ができます。多重代入によって，ある値を二つの変数に代入できます。

(3)　記述例

MAIN
   {
       a = 10;         // 10という値がaに代入されます。
       a = b = 20;     // 多重代入が指定されています。
                       // 20という値が始めに変数bに代入され，
                       // 次に変数aに代入されます。
   }

3.4.2　単項プラス

単項プラスは，数式の正の値を戻す単項演算子です。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

+[(]式[)]

(2)　説明

単項プラス演算子（+）のオペランドは，算術型でなければなりません。単項演算子はオペランドの前に配置され，右から左に結合します。

正の単項演算子を負の値に対して指定すると，戻り値は負の値になります。負の単項演算子を負の値に対して指定すると，戻り値は正の値になります。

(3)　記述例

const integer NG_END = +1;         // DEFINEセクション内のステートメント
sloopcnt = +(sloopmin - sloopmax); // MAINセクション内のステートメント

3.4.3　単項マイナス

単項マイナスは，数式の負の値を戻す単項演算子です。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

-[(]式[)]

(2)　説明

単項マイナス演算子（-）のオペランドは，算術型でなければなりません。単項演算子はオペランドの前に配置され，右から左に結合します。

負の単項演算子を負の値に対して指定すると，戻り値は正の値になります。正の単項演算子を負の値に対して指定すると，戻り値は負の値になります。

(3)　記述例

const integer NG_END = -1;            //DEFINEセクション内のステートメント
integer sloopcnt, sloopmax, sloopmin;
sloopcnt = -(sloopmax - sloopmin);    //MAINセクション内のステートメント

3.4.4　単項否定

単項否定は，式で論理否定をする単項演算子です。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

!(式)

(2)　説明

オペランドの否定がtrue（例えば，オペランドがfalse）の場合はtrueを戻します。逆に，オペランドの否定がfalse（例えば，オペランドがtrue）の場合はfalseを戻します。

単項演算子はオペランドの前に配置され，右から左に結合します。

(3)　記述例

bool IsLastDialog;
IsLastDialog = false;
if (!IsLastDialog)
  AIT_LogMessage("Installable Software Extracting... は開かれています");
else
  AIT_LogMessage("Installable Software Extracting... は開かれていません");
endif;

3.4.5　加法演算子

加法演算子は，加算（+）および減算（-）を実行します。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(4)　備考

(1)　形式

加算式

式 + 式

除算式

式 - 式

(2)　説明

加法演算子は，integer型オペランドやfloat型オペランドの通常の算術変換をします。変換結果の型はオペランドの型になります。

加算演算子（+）は，二つのオペランドを加算します。両方のオペランドがstring型のときは，二つの文字列が連結されます。片方のオペランドだけがstring型のときは，エラーになります。

減算演算子（-）は，一つ目のオペランドから二つ目のオペランドを減算します。両方のオペランドが数値である必要があります。片方または両方のオペランドがstring型の場合は，結果がエラーとなります。

(3)　記述例

MAIN
{
        ...
        sloop_cnt = sloop_cnt+1;
        sloop_cnt = sloop_cnt-1;
        ...
        ...
}

(4)　備考

加法演算子がする変換処理は，オーバーフローやアンダーフロー状態に対応できないため，加法演算子の変換結果がオペランドの型で示されない場合は，情報が欠落するおそれがあります。

3.4.6　乗除演算子

乗除演算子は，乗算（*），除算（/），および剰余算（%）を実行します。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(4)　備考

(1)　形式

乗算式

式 * 式

除算式

式 / 式

剰余算式

式 % 式

(2)　説明

乗除演算子は，オペランドの通常の算術変換をします。変換結果のデータ型は，オペランドのデータ型になります。両方のオペランドが数値である必要があります。オペランドの片方または両方がstring型の場合は，結果がエラーとなります。

乗算演算子（*）は，二つのオペランドを乗算します。オペランドはinteger型でもfloat型でもよく，型が異なっていてもかまいません。

除算演算子（/）は，一つ目のオペランドを二つ目のオペランドで除算します。オペランドはinteger型でもfloat型でもよく，型が異なっていてもかまいません。0で除算した場合の結果は未定義となりますが，文法チェック時またはランタイム時にエラーが発行されます。また，両方のオペランドが正の値または符号なしのときは，結果は0に切り捨てられます。

剰余演算子（%）オペランドは，整数でなければなりません。評価結果は，一つ目のオペランドが二つ目のオペランドで除算したあとの剰余になりますが，割り切れなければ評価結果は次の規則によって決まります。

右オペランドが0の場合は，結果は未定義となります。

両方のオペランドが正の値または符号なしの場合は，結果は正の値となります。

(3)　記述例

MAIN
{
if (sloop_cnt > 10)
  AIT_Sleep(SLEEP_TIME / 2);
else
  AIT_Sleep(SLEEP_TIME * 2);
endif;
}

(4)　備考

乗除演算子による変換処理は，オーバーフローやアンダーフロー状態に対応できないため，乗除演算子の変換結果がオペランドの型で示されない場合は，情報が欠落するおそれがあります。

ランタイム時に0で除算すると，プログラムはERRORセクションに制御を移します。

3.4.7　比較演算子

二項比較演算子は，第1オペランドを第2オペランドと比較し，指定された関係の妥当性を検証します。比較式の結果は，結果の評価がtrueの場合は1となり，falseの場合は0となります。結果の型はboolです。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

比較式

式 < 式
式 > 式
式 <= 式
式 >= 式

等式

式 == 式

不等式

式 != 式

(2)　説明

比較演算子による検査の対象となる関係を次に示します。

演算子 | 検査の対象となる関係
< | 一つ目のオペランドが二つ目のオペランドより小さい
> | 一つ目のオペランドが二つ目のオペランドより大きい
<= | 一つ目のオペランドが二つ目のオペランドより小さいか等しい
>= | 一つ目のオペランドが二つ目のオペランドより大きいか等しい
== | 一つ目のオペランドが二つ目のオペランドと等しい
!= | 一つ目のオペランドが二つ目のオペランドと等しくない

オペランドは，integer型，float型，またはstring型で指定できます。オペランドの型が異なってもかまいません。比較演算子は，integer型およびfloat型オペランドの通常の算術変換をします。さらに，オペランドの型と比較演算子や等号演算子を組み合わせて使うことができます。

次の表では，比較演算子と，比較結果がtrue，false，またはnullであるかどうかを判別するための状態を示します。

演算子 | 意味 | trueの場合 | falseの場合
< | より小さい | 式1 < 式2 | 式1 >= 式2
> | より大きい | 式1 > 式2 | 式1 <= 式2
<= | より小さいか等しい | 式1 <= 式2 | 式1 > 式2
>= | より大きいか等しい | 式1 >= 式2 | 式1 < 式2
== | 等しい | 式1 == 式2 | 式1 != 式2
!= | 等しくない | 式1 != 式2 | 式1 == 式2

次の表では，式の型に応じた式の比較結果を示します。

式の型 | 比較結果
式の両方が数値の場合 | 数値を比較する
式の両方がstring型の場合 | 文字列を比較する
一方の式が数値でもう一方がstring型の場合 | エラーとなる

(3)　記述例

if (sloop_cnt < (sloop_max - 25))  // <
   AIT_LogMessage("Searching for Active windows");  //Search Active windows
   if (AIT_FocusWindow("Installable Software Extracting...", "#32770",0.0) > 0)   // >
       AIT_LogMessage("Installable Software Extracting... is opened");
       sloop_cnt= 0;
   endif;
endif;

3.4.8　ビット単位演算子

ビット単位演算子は，ビット単位AND（&）演算，およびビット単位OR（|）演算を実行します。

＜この項の構成＞

(1)　形式

(2)　説明

(1)　形式

ビット単位AND演算式

式 & 式

ビット単位OR演算式

式 | 式

(2)　説明

ビット単位演算子のオペランドは，integer型を必ず持たなければなりませんが，型が異なってもかまいません。ビット単位演算子は，通常の算術変換をします。変換結果の型は，オペランドの型になります。

ビット単位演算子の説明を次に示します。

演算子 | 説明
& | ビット単位AND演算子は，一つ目のオペランドの各ビットを二つ目のオペランドの対応するビットと比較します。両方のビットが1であれば，比較後の結果ビットを1に設定します。これ以外の場合は，比較後の結果ビットを0に設定します。
| | ビット単位OR演算子は，一つ目のオペランドの各ビットを二つ目のオペランドの対応するビットと比較します。どちらか一方のビットが1の場合は，比較後の結果ビットを1に設定します。これ以外の場合は，比較後の結果ビットを0に設定します。

ビット単位AND演算子は，二つの数式の同じ位置にあるビットをビット単位で比較して，次の表に基づき比較後の結果ビットを設定します。

式1のビット | 式2のビット | 比較結果
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

ビット単位OR演算子は，二つの数式の同じ位置にあるビットをビット単位で比較して，次の表に基づき比較後の結果ビットを設定します。

式1のビット | 式2のビット | 比較結果
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1

3.4.9　論理演算子

論理演算子は，論理AND演算（&&），および論理OR演算（||）を実行します。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

論理AND演算式

式1 && 式2

論理OR演算式

式1 || 式2

(2)　説明

論理演算子は通常の演算変換は実行しません。その代わりに，0と一致するかどうかという観点で各オペランドを評価します。論理演算の結果はtrueまたはfalseです。結果の型はboolです。

論理演算子の説明を次に示します。

演算子 | 説明
&& | 両方のオペランドがtrueの場合，結果はtrueになります。どちらか一方のオペランドがfalseの場合，結果はfalseになります。論理AND演算の初めのオペランドがfalseの場合，二つ目のオペランドは評価されません。
|| | 両方のオペランドの評価がfalseの場合，結果はfalseになります。どちらか一方のオペランドの評価がtrueの場合，結果はtrueになります。論理OR演算の初めのオペランドがtrueの場合，二つ目のオペランドは評価されません。

論理ANDおよび論理OR式のオペランドは，左から右に評価されます。一つ目のオペランドの値だけで演算結果を判別できるときは，二つ目のオペランドは評価されません。これを「短絡評価」と呼びます。

(a)　論理AND演算子（&&）の場合

両方の式がtrueと評価された場合は，結果はtrueになります。式のどちらかがfalseと評価された場合は，結果はfalseになります。次の表では，評価結果の判別方法を示します。

式1の評価 | 式2の評価 | 評価結果
true | true | true
true | false | false
false | true | false
false | false | false

(b)　論理OR演算子（||）の場合

どちらか一方，または両方の式がtrueと評価された場合は，結果はtrueになります。次の表では，評価結果の判別方法を示します。

式1の評価 | 式2の評価 | 評価結果
true | true | true
true | false | true
false | true | true
false | false | false

(3)　記述例

DEFINE
{
  float varfloat1 = 1.567e-1;
  integer varint1 = 10;
  integer varfloat2 = 0;
  integer varint2 = 0;
  bool varbool;
  integer WINH;
}
MAIN
{
  varbool = varfloat1 && varint1;
  AIT_LogMessage("The expected value of varbool is: true");
  varbool =varfloat2 && varint1;
  AIT_LogMessage("The expected value of varbool is: false");
  varbool=varfloat1 && varint2;
  AIT_LogMessage("The expected value of varbool is: false");
  varbool=varfloat2 && varint2;
  AIT_LogMessage("The expected value of varbool is: false");
}

3.4.10　演算子の優先順位

演算子の優先順位および結合順序は，式のオペランドのグループ化や評価するうえで影響を与えます。演算子の優先順位は，同じ式の中に演算子の優先順位が高い，または低い別の演算子が含まれている場合にだけ意味を持ちます。式の中に高い優先順位の演算子が含まれているときは，その演算子が先に評価されます。演算子の優先順位が等しいときは，評価される順位はそれぞれが持つ結合順序によって決まります。

次の表では，演算子の優先順位と結合順序を示します。演算子は，優先順位の降順で表しています。

記号 | 演算子の型 | 結合順序
( ) | 括弧 | 左から右
+ - ! | 単項 | 右から左
* / % | 乗除 | 左から右
+ - | 加法 | 左から右
< > <= >= | 比較 | 左から右
== != | 等号 | 左から右
& | ビット単位AND | 左から右
| | ビット単位OR | 左から右
&& | 論理AND | 左から右
|| | 論理OR | 左から右
= | 代入 | 左から右

3.5　変数と定数

変数と定数は，どちらもデータを象徴するものです。変数は値が変化するのに対し，定数は値を変更できません。

変数および定数は，宣言することで実体を持ち，使用できるようになります。これらの宣言は必ずAITファイルのDEFINEセクションでします。宣言は一度しかできません。変数名および定数名は，64文字以内で，必ず英字（Ａ～Ｚ）から始まるようにします。「_」（アンダーバー）以外の記号は使えません。また，英字の大文字と小文字は区別されません。

変数名および定数名は，目的や用途を示す，わかりやすいものにすることをお勧めします。キーワード，ラベル名，およびマクロ名は，変数名にしないでください。

＜この節の構成＞

(1)　変数の例

(2)　定数の例

(1)　変数の例

integer LoopCount;
string CountryName;
bool answer;
float r_nTimeOut;
integer ABC;
integer abc;     //変数を再び定義しているため無効

上記の例の「integer」という記述は，リストされている変数がinteger型であることを意味します。つまり，「LoopCount」は整数です。同様に，「CountryName」は文字列です。

(2)　定数の例

const integer OK_END = 0;       //DM_RTN:OK_END
const integer NG_END = -1;      //DM_RTN:NG_END
const integer SET_SLEEP_TIME = 2;

3.6　プログラムフローの制御

一般に複数のステートメントは，順次に実行されます。ただし，フローを別のステートメントに移すには，以降に示すステートメントを使用します。

＜この節の構成＞

3.6.1　goto

3.6.2　ラベル

3.6.3　if-else-endif

3.6.4　while-loop

3.6.5　do-while

3.6.6　for-next

3.6.7　continue

3.6.8　break

3.6.9　switch-endswitch

3.6.1　goto

gotoステートメントを使用すると，同じセクション内で宣言されている有効なラベルの位置に無条件にジャンプできます。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(4)　備考

(1)　形式

ステートメント

ジャンプステートメント
ラベルステートメント

ジャンプステートメント

goto 識別子;

ラベルステートメント

識別子:

(2)　説明

gotoステートメントは，深くネストされたループの内側から直接ループを抜けられます。一方，breakステートメントは，繰り返しステートメントの一つのレベルからしか終了できません。

(3)　記述例

//MAINセクション
MAIN
{
  ...
  ...
  AIT_LogMessage("LBL030: JUMP TO LABEL");
  goto label1;
      AIT_LogMessage("LBL030: NOT DISPLAYED 1");   // 実行されない

      label1:                     // 制御はここに移る
         AIT_LogMessage("LBL030: JUMPING TO LABEL ");   // 実行される
}

(4)　備考

プログラミングスタイルとしては，できるだけgotoステートメントよりbreak，continue，およびreturnステートメントを使う方がよいでしょう。

3.6.2　ラベル

gotoステートメントを使用してプログラムの制御を特定のステートメントにダイレクトに移すには，移動先のステートメントにラベルを付ける必要があります。

ラベルを宣言するには，識別子の末尾に「:」（コロン）を付けます。ラベルの宣言は，MAINセクションまたはERRORセクションのどの位置でもかまいません。ラベル名は，変数または定数と同じ規則に従い，必ずユニークなものを指定します。また，変数や定数をラベルとして再使用してはいけません。

ラベルは，MAINセクションまたはERRORセクション以外では意味がなく，gotoステートメントと関連づけられている場合にだけ意味を持ちます。関連づけられていない場合はラベルが解釈されないでステートメントが実行されます。ラベルの付いたステートメントがgotoステートメントと関連づけられていない場合は，警告メッセージが表示されます。

＜この項の構成＞

(1)　形式

(2)　記述例

(1)　形式

ラベルステートメント

識別子:

(2)　記述例

AIT_MessageBox("ss","xx");
goto label18;
  AIT_LogMessage("LBL040: NOT DISPLAYED 29");    // 実行されない
  label18:         // 制御がここに移る
  AIT_LogMessage("LBL040: INSIDE LABELLED STATEMENT"); // 実行される
  AIT_Exit();

3.6.3　if-else-endif

ifステートメントを使用すると，条件分岐を処理できるようになります。

条件が0以外の場合は，ifステートメントの本体が実行されます。条件が0の場合は，本体以外の部分が実行されます。

このステートメントの本体以外の部分はオプションです。条件は括弧で囲んでください。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

if (条件)
   [式1;]
[else
   [式2;]]
endif;

(2)　説明

評価の対象は条件です。条件が0以外の場合は(1)の式1に当たる部分が実行され，条件が0の場合は式2の部分が実行されます。

if-else-endifステートメントのelse文節は，対応するelseステートメントが存在しない直前のifステートメントと関連づけられています。

(3)　記述例

if(AIT_FocusWindow("Installable Software-Setup","#32770"))
                        // 次の2行はtrue（0以外）の場合に実行される
  AIT_LogMessage("INSIDE Installable Software SETUP");
  AIT_PlayKey("ENTER");
else
                        // 次の2行はfalse（0）の場合に実行される
  AIT_LogMessage("PROBLEM IN SETUP");
  AIT_Exit();
endif;

3.6.4　while-loop

while-loopステートメントは，指定した条件がfalseになるまで式を繰り返し実行します。条件は括弧で囲んで指定してください。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

while (条件)
   式1;
   式2;
loop;

(2)　説明

条件が評価されます。

条件が最初にfalseとなると，whileステートメントの本体は一度も実行されず，制御がwhileステートメントから同じプログラム内の次のステートメントに移ります。

条件がtrue（0以外）のときは，ステートメントの本体は実行され，式1から実行が繰り返されます。

ステートメント本体でbreakステートメントが指定されていると，その時点でループは終了します。

ステートメント本体でcontinueステートメントが指定されていると，それ以降の実行はスキップされ，条件が評価されます。条件がtrueのときは，実行が繰り返されます。

なお，ネストするwhileループの数は，255以内に抑えてください。

(3)　記述例

DEFINE
{
integer WINH,count,length;
float SLEEP_TIME=0.5;
string s1,s2;
integer i,sloop_cnt   = 0;
integer sloop_max = 30;
}
...
...
while ( sloop_cnt < sloop_max)
  AIT_LogMessage("アクティブウィンドウの検索");
  if (AIT_FocusWindow("アンパック中...", "#32770",0.0) > 0)
  if(AIT_FocusWindow("インストールするソフトウェアをアンパック中...", "#32770", 0.0) > 0)
         AIT_LogMessage("インストールするソフトウェアをアンパック中... が開かれました");
     sloop_cnt= 0;
     AIT_Sleep(SLEEP_TIME);
  endif;
  endif;
  AIT_Sleep(SLEEP_TIME);
  sloop_cnt = sloop_cnt + 1;
loop;

3.6.5　do-while

do-whileステートメントは，指定された終了条件がfalseと評価されるまで式を繰り返し実行します。条件は括弧で指定してください。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

do
  式1
  式2
  ...
  ...
while (条件);

(2)　説明

do-whileステートメントの本体が実行されます。

次に，条件が評価されます。条件がfalseのときは，do-whileステートメントは終了し，制御が同じプログラム内の次のステートメントに移ります。条件がtrue（0以外）のときは，式1から実行が繰り返されます。

ステートメント本体でbreakステートメントが指定されていると，その時点でループは終了します。

ステートメント本体でcontinueステートメントが指定されていると，それ以降の実行はスキップされ，条件が評価されます。条件がtrueのときは，実行が繰り返されます。

この結果，ループの本体は，最低1回は必ず実行されます。

なお，ループ内のbreakまたはcontinueステートメントの数は，255以内に抑えてください。また，ネストするdo-whileステートメントの数は，255以内に抑えてください。

(3)　記述例

DEFINE
{
integer WINH,count,length;
float SLEEP_TIME=0.5;
string s1,s2;
integer i,sloop_cnt   = 0;
integer sloop_max = 30;
}
...
...
do
  AIT_LogMessage("Searching for Active windows");
  if (AIT_FocusWindow("Installable Software", "#32770",0.0) > 0)
       if(AIT_FocusWindow("Unpacking Installable Software...", "#32770", 0.0) > 0)
           AIT_LogMessage("Unpacking Installable Software... is opened");
           sloop_cnt= 0;
           AIT_Sleep(SLEEP_TIME);
       endif;
  endif;
  AIT_Sleep(SLEEP_TIME);
  sloop_cnt = sloop_cnt + 1;
while ( sloop_cnt < sloop_max);
...
...

3.6.6　for-next

for-nextステートメントは，条件がfalseになるまで式を繰り返し実行します。for-nextステートメントのオプション式を使用すると，for-nextステートメントの実行中に初期設定や値を変更できます。

一般にループが繰り返される回数は，カウンタによって決まります。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

for ( [初期化式] ; [条件式] ; [ループ式] )
    式1;
    式2;
next;

(2)　説明

初期化式が指定されていると，この式が評価されます。この式は，ループの初期化を指定します。初期化式には，型の制限はありません。

条件式が指定されていると，この式が評価されます。この評価は，それぞれの繰り返しをする前に実行されますが，次の三つの結果が考えられます。

条件式がtrue（0以外）の場合は，ステートメントが実行されます。ループ式が指定されていると，次にこの式が評価されます。そして，条件式の評価から実行が繰り返されます。

条件式の指定が省略されているときは，条件式はtrueと解釈され，上記と同様に実行されます。引数で条件式を指定しないと，ステートメント本体の内部でbreakステートメントが実行されたとき，またはgotoステートメント（ステートメント本体の外側のラベル付きステートメントに対応したもの）が実行された時に，forステートメントは終了します。

条件式がfalse（0）のときは，for-nextステートメントの実行が終了し，制御が同じプログラム内の次のステートメントに移ります。

ステートメント本体でbreakステートメントが指定されていると，その時点でループは停止します。

ステートメント本体でcontinueステートメントが指定されていると，それ以降の実行をスキップし，条件式が評価されます。条件がtrueのときは，実行が繰り返されます。

なお，ネストするfor-next構造体の数は，255以内に抑えてください。

(3)　記述例

DEFINE
{
integer WINH,count,length;
float SLEEP_TIME=0.5;
string s1,s2;
integer i,sloop_cnt   = 0;
integer sloop_max = 30;
}
...
...
sloop_cnt=1;
AIT_LogMessage("Searching for Active windows - For");
for(; sloop_cnt < sloop_max ;sloop_cnt = sloop_cnt + 1)
   if (AIT_FocusWindow("Unpacking", "#32770",0.0) > 0)
       if(AIT_FocusWindow("Unpacking Installable Software...", "#32770", 0.0) > 0)
              AIT_LogMessage("Unpacking Installable Software... is opened");
              sloop_cnt= 0;
              AIT_Sleep(SLEEP_TIME);
       endif;
       endif;
  AIT_Sleep(SLEEP_TIME);
next;

3.6.7　continue

continueステートメントは，これを囲むいちばん小さいdo，for，またはwhileステートメントの次の繰り返し位置に制御を移します。

一般にcontinueステートメントは，深くネストされたループの内側からループの開始位置に戻すために使用します。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

ジャンプステートメント

continue;

(2)　説明

continueステートメントに達すると，do，forまたはwhileステートメントの次の繰り返し位置は，次のように決定されます。

doまたはwhileステートメントの内側で，doまたはwhileステートメントの式が再評価されることで，次の繰り返しが開始されます。

forステートメントでcontinueステートメントが指定されていると，forステートメントの条件式を再評価して，その結果に応じてステートメント本体の実行を終了するか，または繰り返します。

なお，ループ構造体に含めるcontinueステートメントの数は，255以内に抑えてください。

(3)　記述例

for (count=1;count<=10;count=count+1)
   if (count < 5)
          continue;
   endif;
   ...
next;

上の例では，continueステートメント以降のコードは，countが5になるまで処理が省略されます。

3.6.8　break

breakステートメントは，これを囲むいちばん近いdo-while，for-next，switch-endswitch，またはwhile-loopステートメントの実行を終了します。制御は，終了したステートメントの後ろにあるステートメントに移ります。breakステートメントは，繰り返しから脱出するために使用します。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

ジャンプステートメント

break;

(2)　説明

breakステートメントは，ループ内では，終了基準が評価される前にループを終了するために使用します。また，switchステートメント内部で，特定の場合に実行を終了するときにも使用します。繰り返しステートメントまたはswitchステートメントを指定しなければ，エラーが発生します。

なお，ループ構造体の中に含めるbreakステートメントは，255以内に抑えてください。

(3)　記述例

i = 0;
for(;;)
  AIT_LogMessage("Inside Loop");
  i = i + 1;
  if(i>100)
     break;
  endif;
next;

3.6.9　switch-endswitch

switchステートメントを使用すると，式の値に応じてコードにある複数の選択肢の中から処理を選択できます。式は括弧で囲んで指定してください。

switchステートメントには，caseラベルまたはdefaultラベルが付いているものがあり，それらが選択肢となります。各caseラベルは，定数値を持てます。switchステートメントはcaseラベルがなければ意味を持たないため，switchステートメント中には，一つ以上のcaseラベルを付けるようにしてください。

defaultラベルは，一つしか指定できません。defaultラベルはオプションであり，これに値を指定しないようにしてください。

＜この項の構成＞

(1)　形式

(2)　説明

(3)　記述例

(1)　形式

switch (式)

 [case 定数値:]+
      [式;]*
 ...
 ...
[default:]
      [式;]*

endswitch;

(2)　説明

式が評価されます。

式の値と等しいcaseラベル値を持つブロックに制御が移ります。breakに達するまでは，（caseラベル値とは関係なく）引き続きすべてのステートメントが実行されます。

breakステートメントに達すると，switchステートメントの外側に制御が移ります。

式の値がcaseラベル値と等しくないときは，defaultラベルが指定されていると，その位置に制御が移ります。

switch-endswitchステートメントを指定するには，次の規則に従います。

switchステートメントの式のデータ型は，定数値のようなラベル定数のものと同一にします。

ネストするswitchステートメントの数は，255以内に抑えてください。

すべてのcaseラベルが，関連づけられた実行ステートメントを持つ必要はありませんが，最終のcaseステートメントは，関連づけられた実行ステートメントを最低一つ持つようにします。

switch-endswitchステートメントは，最大255のcaseラベルを持てます。

caseラベルに指定できるのは，数値定数，string定数，またはAIT言語のマクロで，式は指定できません。
例

case -5:        // 有効
case +6:        // 有効
case "String":  // 有効
case intvar:    // 無効
case 3+2:       // 無効

caseラベルで指定する定数は，switchステートメントの式と同じ型にします。
例

switch (Stringvar1+Stringvar2)  // 変数はどちらもstring型
case 1:                        // 無効
case "キャプション1":           // 有効
..
..
endswitch;

switch caseステートメントとともにcaseステートメントを指定しなければ，文法エラーとして解釈されます。

switch caseステートメント内に記述できるbreakステートメントは，255個までです。

switch caseステートメント内のcaseステートメントに別のステートメントを指定する必要はありませんが，最終のcaseステートメントには，必ず別のステートメントを追加してください。
例

switch(i)
{
 case 1:
 case 2:
   a=b+c; // "a=b+c;"ステートメントを指定しなければ，
          // スクリプトアナライザーから文法エラーが発行される
}

(3)　記述例

s1="abcdefghijk";
switch (!AIT_IsEmpty(s1 ))
case true:            // s1が空の場合実行されます
   s2 = AIT_StrUpper(s1);
   AIT_MessageBox("s2",s2);
      if ( ( length = AIT_StrLength(s2)) > 10)
          break;
   endif;
   break;
default:              //状態がfalseを返してきた場合
   break;            //実行されます
endswitch;

3.7　関数呼び出し

AIT言語は，標準的な操作を実行するための各種APIをサポートしています。APIは，大きく次のように分類されます。

ウィンドウ操作

確認操作

解像度のチェック

日時操作

IME操作

文字列操作

メッセージ操作

レジストリ操作

ディレクトリ操作

ファイル操作

INIファイル操作

レコーダ操作

タスクバー操作

ユティリティ操作

JP1/NETM/DMとのインターフェース

＜この節の構成＞

(1)　形式

(2)　記述例

(1)　形式

上記のAPIは，MAINおよびERRORセクションから呼び出せます。

パラメタのデータ型は，API仕様で定義されているものと同一にします。

関数呼び出しの中に式を指定できます。また，式のデータ型または関数呼び出しがAPI仕様と一致していれば，関数呼び出し同士をネストすることもできます。

APIの実行によってランタイムエラーが発生した場合は，ERRORセクションに制御が移ります。

関数の処理が失敗した場合は，関数の戻り値はAIT_GetLastErrorを呼び出すことで取得できます。エラーメッセージに対応するエラーテキストもAIT_GetErrorTextを使用して取得できます。

(2)　記述例

integer intvar1;
string Caption;
string Stringvar1, Stringvar2;
...
...
AIT_LogMessage("SAMPLE FUNCTION CALL");  // 関数呼び出し
if(AIT_FocusWindow("Installable-Setup","#32770"))
                              // 式内で関数呼び出しの戻り値を使用している
  AIT_LogMessage("INSIDE Installable Software SETUP");  // 実行される
  AIT_PlayKey("{Enter}");
endif;
                      // 関数呼び出しの異常終了をチェック
Caption = "Installable Software";
intvar1    = AIT_GetSubStr(Stringvar1, Stringvar2, 50);
                                                // intvar1が0になる
if(!intvar1)
          AIT_LogMessage(AIT_GetErrorText(AIT_GetLastError()));
endif;

3.8　キーワード

キーワードは，特別な意味を持つ定義済みの予約識別子です。キーワードをプログラム内で識別子として使うことはできません。識別子のスペルをキーワードと同じにしてはいけません。キーワードは，大文字小文字を区別しないため，大文字小文字の組み合わせを変えても識別子として使用することはできません。

AIT言語で定義されているキーワードを表3-3に示します。

表3-3　AIT言語で定義されているキーワード

項番 | キーワード | 項番 | キーワード | 項番 | キーワード
1 | bool | 2 | break | 3 | case
4 | const | 5 | continue | 6 | default
7 | define | 8 | do | 9 | ECompany
10 | else | 11 | endif | 12 | endswitch
13 | ERROR | 14 | EUser | 15 | float
16 | for | 17 | goto | 18 | IconGroupName
19 | if | 20 | InstallDirectory | 21 | InstallDrive
22 | InstallerName | 23 | integer | 24 | JCompany
25 | JUser | 26 | loop | 27 | MAIN
28 | next | 29 | PACKAGE_INFO | 30 | PackageID
31 | Product | 32 | ScriptFileVersion | 33 | SerialNumber
34 | string | 35 | switch | 36 | Version
37 | while | － | － | － | －

（凡例）　－：なし

キーワードには，上記のほかに，API名，AIT言語の定義済みマクロ，および幾つかのWin 32エラーコードがあります。

3.9　マクロ

AITスクリプト言語には，値を代入できない特定の定義済み定数があります。この種の定数は，次に示すマクロ名とそのデータ型で分類されます。

なお，DEFINEセクションでマクロの宣言はできません。

＜この節の構成＞

3.9.1　ウィンドウ操作および確認操作に関するマクロ

3.9.2　メッセージ操作に関するマクロ

3.9.3　ファイル操作に関するマクロ

3.9.4　IME操作に関するマクロ

3.9.5　ユティリティ操作に関するマクロ

3.9.6　レジストリ操作に関するマクロ

3.9.7　ディレクトリ操作に関するマクロ

3.9.8　エラーロギングに関するマクロ

3.9.1　ウィンドウ操作および確認操作に関するマクロ

ウィンドウ操作および確認操作に関するマクロを表3-4に示します。これらのマクロのデータ型は，すべてinteger型です。

表3-4　ウィンドウ操作および確認操作に関するマクロの一覧

マクロ名
ALT_OFF | ALT_ON
BUTTON_CTRL | CALENDAR_CTRL
CAPSLOCK | CHECKBOX_CTRL
COMBO_CTRL | COMMANDBUTTON_CTRL
CONTROL_CAPTION_SIZE | CONTROL_CLASS_SIZE
CTRL_OFF | CTRL_ON
DTPICKER_CTRL | EDIT_CTRL
HSCROLL | IDABORT
IDCANCEL | IDIGNORE
IDNO | IDOK
IDRETRY | IDYES
INSERTLOCK | IPADDRESS_CTRL
KEYSTATE_OFF | KEYSTATE_ON
LBUTTON | LISTBOX_CTRL
LIST_CTRL | MBUTTON
MB_ABORTRETRYIGNORE | MB_ICONEXCLAMATION
MB_ICONINFORMATION | MB_ICONQUESTION
MB_ICONSTOP | MB_OK
MB_OKCANCEL | MB_RETRYCANCEL
MB_YESNO | MB_YESNOCANCEL
NOTIFICATION_CTRL | NUMLOCK
OPTIONBUTTON_CTRL | PROGRESS_CTRL
RBUTTON | REBAR_CTRL
SB_BOTTOM | SB_LEFT
SB_LINEDOWN | SB_LINELEFT
SB_LINERIGHT | SB_LINEUP
SB_PAGEDOWN | SB_PAGELEFT
SB_PAGERIGHT | SB_PAGEUP
SB_RIGHT | SB_THUMBPOSITION
SB_THUMBTRACK | SB_TOP
SCROLLBAR_CTRL | SCROLLLOCK
SHIFT_OFF | SHIFT_ON
SLIDER_CTRL | SPIN_CTRL
STARTBUTTON_CTRL | STATIC_CTRL
STATUSBAR_CTRL | STYLE_CHECK_BUTTON
STYLE_PUSH_BUTTON | STYLE_RADIO_BUTTON
SW_HIDE | SW_MAXIMIZE
SW_MINIMIZE | SW_NORMAL
SW_SHOW | SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED | SW_SHOWMINNOACTIVE
SW_SHOWNOACTIVATE | SW_SHOWNORMAL
TAB_CTRL | TASKBARCLOCK_CTRL
TASKBARITEMS_CTRL | TASKBAR_CTRL
TOOLBAR_CTRL | TOOLTIPS_CTRL
TREE_CTRL | VSCROLL

3.9.2　メッセージ操作に関するマクロ

メッセージ操作に関するマクロを次に示します。このマクロのデータ型はinteger型です。

HWND_BROADCAST

3.9.3　ファイル操作に関するマクロ

ファイル操作に関するマクロを表3-5に示します。これらのマクロのデータ型は，すべてinteger型です。

表3-5　ファイル操作に関するマクロの一覧

マクロ名
AIT_ALLFILES | CREATE_ALWAYS
CREATE_NEW | FILE_ALL
FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_DIRECTORY
FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY
FILE_ATTRIBUTE_SYSTEM | FILE_READ
FILE_WRITE | GENERIC_READ
GENERIC_WRITE | OPEN_ALWAYS
OPEN_EXISTING | TRUNCATE_EXISTING

3.9.4　IME操作に関するマクロ

IME操作に関するマクロを表3-6に示します。これらのマクロのデータ型は，すべてinteger型です。

表3-6　IME操作に関するマクロの一覧

マクロ名
IGP_CONVERSION | IGP_GETIMEVERSION
IGP_PROPERTY | IGP_SELECT
IGP_SENTENCE | IGP_SETCOMPSTR
IGP_UI | IME_CHOTKEY_IME_NONIME_TOGGLE
IME_CHOTKEY_SHAPE_TOGGLE | IME_CHOTKEY_SYMBOL_TOGGLE
IME_CMODE_CHARCODE | IME_CMODE_EUDC
IME_CMODE_FULLSHAPE | IME_CMODE_HANJACONVERT
IME_CMODE_KATAKANA | IME_CMODE_NATIVE
IME_CMODE_NOCONVERSION | IME_CMODE_ROMAN
IME_CMODE_SOFTKBD | IME_CMODE_SYMBOL
IME_JHOTKEY_CLOSE_OPEN | IME_KHOTKEY_ENGLISH
IME_KHOTKEY_HANJACONVERT | IME_KHOTKEY_SHAPE_TOGGLE
IME_PROP_AT_CARET | IME_PROP_CANDLIST_START_FROM_1
IME_PROP_SPECIAL_UI | IME_PROP_UNICODE
IME_SMODE_AUTOMATIC | IME_SMODE_CONVERSATION
IME_SMODE_NONE | IME_SMODE_PHRASEPREDICT
IME_SMODE_PLAURALCLAUSE | IME_SMODE_PLURALCLAUSE
IME_SMODE_SINGLECONVERT | IME_THOTKEY_IME_NONIME_TOGGLE
IME_THOTKEY_SHAPE_TOGGLE | IME_THOTKEY_SYMBOL_TOGGLE
SCS_CAP_COMPSTR | SCS_CAP_MAKEREAD
SELECT_CAP_CONVERSION | SELECT_CAP_SENTENCE
UI_CAP_2700 | UI_CAP_ROT90
UI_CAP_ROTANY | －

（凡例）　－：なし

3.9.5　ユティリティ操作に関するマクロ

ユティリティ操作に関するマクロを表3-7に示します。これらのマクロのデータ型は，すべてinteger型です。

表3-7　ユティリティ操作に関するマクロの一覧

マクロ名

VER_PLATFORM_WIN32_NT
VER_PLATFORM_WIN32_WINDOWS

3.9.6　レジストリ操作に関するマクロ

レジストリ操作に関するマクロを表3-8に示します。これらのマクロのデータ型は，すべてinteger型です。

表3-8　レジストリ操作に関するマクロの一覧

マクロ名
HKEY_CLASSES_ROOT | HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER | HKEY_LOCAL_MACHINE
HKEY_USERS | －

（凡例）　－：なし

3.9.7　ディレクトリ操作に関するマクロ

ディレクトリ操作に関するマクロを表3-9に示します。これらのマクロのデータ型は，すべてinteger型です。

表3-9　ディレクトリ操作に関するマクロの一覧

マクロ名

AIT_CURRENTDIRECTORY
AIT_PARENTDIRECTORY

3.9.8　エラーロギングに関するマクロ

エラーロギングに関するマクロを表3-10に示します。これらのマクロのデータ型は，すべてinteger型です。

表3-10　エラーロギングに関するマクロの一覧

マクロ名
ERROR_ACCESS_DENIED | ERROR_ALREADY_EXISTS
ERROR_BADDB | ERROR_BADKEY
ERROR_BAD_COMMAND | ERROR_BAD_NETPATH
ERROR_BAD_NET_NAME | ERROR_BAD_PATHNAME
ERROR_BUFFER_OVERFLOW | ERROR_CANNOT_MAKE
ERROR_CANTOPEN | ERROR_CANTREAD
ERROR_CANTWRITE | ERROR_CHILD_MUST_BE_VOLATILE
ERROR_CONTROL_ID_NOT_FOUND | ERROR_CRC
ERROR_CURRENT_DIRECTORY | ERROR_DIRECTORY
ERROR_DISK_CORRUPT | ERROR_DISK_FULL
ERROR_FILENAME_EXCED_RANGE | ERROR_FILE_CORRUPT
ERROR_FILE_EXISTS | ERROR_FILE_NOT_FOUND
ERROR_HANDLE_DISK_FULL | ERROR_HANDLE_EOF
ERROR_INSUFFICIENT_BUFFER | ERROR_INVALID_COMPUTERNAME
ERROR_INVALID_DATA | ERROR_INVALID_DRIVE
ERROR_INVALID_FUNCTION | ERROR_INVALID_HANDLE
ERROR_INVALID_INDEX | ERROR_INVALID_MENU_HANDLE
ERROR_INVALID_NAME | ERROR_INVALID_NETNAME
ERROR_INVALID_PARAMETER | ERROR_INVALID_SCROLLBAR_RANGE
ERROR_INVALID_SHARENAME | ERROR_INVALID_WINDOW_HANDLE
ERROR_KEY_DELETED | ERROR_KEY_HAS_CHILDREN
ERROR_LOCK_VIOLATION | ERROR_MENU_ITEM_NOT_FOUND
ERROR_NETWORK_BUSY | ERROR_NETWORK_UNREACHABLE
ERROR_NOACCESS | ERROR_NOT_ENOUGH_MEMORY
ERROR_NOT_READY | ERROR_NOT_REGISTRY_FILE
ERROR_NO_LOG_SPACE | ERROR_NO_MORE_FILES
ERROR_NO_MORE_ITEMS | ERROR_NO_MORE_SEARCH_HANDLES
ERROR_NO_SCROLLBARS | ERROR_OUTOFMEMORY
ERROR_PATH_BUSY | ERROR_PATH_NOT_FOUND
ERROR_READ_FAULT | ERROR_REGISTRY_CORRUPT
ERROR_REGISTRY_IO_FAILED | ERROR_REGISTRY_RECOVERED
ERROR_SHARING_VIOLATION | ERROR_SUCCESS
ERROR_TIMEOUT | ERROR_TOO_MANY_OPEN_FILES
ERROR_WRITE_FAULT | ERROR_WRITE_PROTECT

4.　APIリファレンス

この章では，AIT言語で使用するAPIについて説明します。

＜この章の構成＞

4.1　API一覧

4.2　APIの詳細

4.3　APIの使用例

4.1　API一覧

AIT言語が提供するAPIは，以下のカテゴリで分類されます。

ウィンドウ操作

確認操作

解像度のチェック

日時操作

IME操作

文字列操作

メッセージ操作

レジストリ操作

ディレクトリ操作

ファイル操作

INIファイル操作

レコーダ操作

タスクバー操作

ユティリティ操作

JP1/NETM/DMとのインターフェース

カテゴリ別のAPIの一覧を次の項以降に示します。

＜この節の構成＞

4.1.1　ウィンドウ操作

4.1.2　確認操作

4.1.3　解像度のチェック

4.1.4　日時操作

4.1.5　IME操作

4.1.6　文字列操作

4.1.7　メッセージ操作

4.1.8　レジストリ操作

4.1.9　ディレクトリ操作

4.1.10　ファイル操作

4.1.11　INIファイル操作

4.1.12　レコーダ操作

4.1.13　タスクバー操作

4.1.14　ユティリティ操作

4.1.15　JP1/NETM/DMとのインターフェース

4.1.1　ウィンドウ操作

次のAPIは，ウィンドウの検索，特定のコントロールへのフォーカス設定，チェックボックスまたはラジオボタンのチェック状態の設定など，ウィンドウおよびコントロールに関連する処理をアプリケーションが実行できるようにします。

API関数名 | 機能
AIT_FocusWindow | ウィンドウを検索し，フォーカスを設定します。
AIT_ExistWindow | ウィンドウが存在するかをチェックします。
AIT_MinWnd | ウィンドウを最小化します。
AIT_SetWndPos | 指定したウィンドウの位置を変更します。
AIT_SetWndPosSize | 指定したウィンドウの位置とサイズを変更します。
AIT_GetWindowText | 指定したウィンドウのタイトルを取得します。
AIT_SetActWnd | アクティブなウィンドウを設定します。
AIT_GetCtrlText | ウィンドウのコントロールからテキストを取得します。
AIT_CtrlSetFocus | コントロールにフォーカスを設定します。
AIT_SetSpinPos | スピンまたはスライダーコントロールの位置を設定します。
AIT_SetScrollPos | スクロールバーの位置を設定します。
AIT_CtrlClick | コントロールに対しマウスクリック処理を実行します。
AIT_SelectMultipleListItem | 複数リスト項目を選択します。
AIT_SelectListItem | リスト項目を選択します。
AIT_SelectIPAddressField | IPアドレスフィールドを選択します。
AIT_SelectText | コントロール上のテキストを選択します。
AIT_DefaultButtonCount | デフォルトボタンスタイルの数を取得します。
AIT_SetCheck | ラジオボタンまたはチェックボックスのチェック状態を設定します。
AIT_CtrlItemCount | コントロールの項目数を取得します。
AIT_GetIndexText | インデックスからテキストを取得します。
AIT_CtrlItemIndex | テキストのインデックスを取得します。
AIT_GetIndexTextLen | 基準値0のインデックス文字列の，文字の長さを取得します。
AIT_SetKeyState | キーの状態を設定します。
AIT_GetKeyState | キー状態を取得します。
AIT_MouseClick | マウスクリック操作を実行します。
AIT_MouseUp | マウスを離す操作を実行します。
AIT_MouseDown | マウスを押す操作を実行します。
AIT_MouseMoveTo | マウスの移動操作を実行します。
AIT_MouseDragDrop | マウスのドラッグアンドドロップ操作を実行します。
AIT_MouseDblClk | マウスのダブルクリック操作を実行します。
AIT_SetComboEditSelText | コンボボックスのテキストを選択します。
AIT_ComboBoxCloseUp | コンボボックスへのクローズアップ操作を実行します。
AIT_ComboBoxDropDown | コンボボックスへのドロップダウン操作を実行します。
AIT_GetEditFirstLineIndex | エディットボックスでの最初の行のインデックスを取得します。
AIT_GetEditCurrentLineIndex | エディットボックスでの現在の行のインデックスを取得します。
AIT_GetCtrlTextLen | コントロールのテキストの長さを取得します。
AIT_GetEditTextLineLen | エディットボックスにでの行の長さを取得します。
AIT_GetDtPickerTime | 日時ピッカーから時間を取得します。
AIT_GetDtPickerDate | 日時ピッカーから日付を取得します。
AIT_SetDtPickerTime | 日時ピッカーで時間を設定します。
AIT_SetDtPickerDate | 日時ピッカーで日付を設定します。
AIT_GetMenu | メニューハンドルを取得します。
AIT_GetSubMenu | サブメニューハンドルを取得します。
AIT_GetMenuText | メニューテキストを取得します。
AIT_GetMenuIndex | メニューのインデックスを取得します。
AIT_MenuItemClick | 指定したメニュー項目をクリックします。

4.1.2　確認操作

次のAPIは，コントロールの存在，コントロールの状態，コントロールのフォーカスを確認するなど，確認処理をアプリケーションが実行できるようにします。

API関数名 | 機能
AIT_VerifyExistence | コントロールの存在を確認します。
AIT_VerifyEnabled | コントロールが使用できるかどうかを確認します。
AIT_VerifyFocus | コントロールがフォーカスされているかどうかを確認します。
AIT_VerifyState | コントロールの状態を確認します。
AIT_VerifyCharPos | コントロールの文字の位置を確認します。
AIT_VerifyLine | 行のインデックスを確認します。
AIT_VerifyText | 指定したテキストを確認します。
AIT_VerifySelected | エディットボックスで選択されたテキストを確認します。
AIT_VerifyFirstVisible | コントロールの最初の可視項目を確認します。
AIT_VerifyCount | 項目カウントを確認します。
AIT_VerifyPos | コントロールの位置を確認します。
AIT_VerifyIndex | コントロールのインデックスを確認します。
AIT_VerifyLocation | コントロールの位置を確認します。
AIT_VerifyDateTime | コントロールの日付または時間の値を確認します。
AIT_VerifyKeyState | キーの状態を確認します。
AIT_VerifyDefaultButton | デフォルトのボタンスタイルを確認します。
AIT_VerifyNoOfCtrls | ウィンドウのコントロール数を確認します。
AIT_VerifyMenuChecked | メニューのチェック状態を確認します。
AIT_VerifyMenuEnabled | メニューの使用可能状態を確認します。

4.1.3　解像度のチェック

次のAPIは，システムの解像度をチェックします。

API関数名 | 機能
AIT_CheckResolution | スクリーンの解像度をチェックします。

4.1.4　日時操作

次のAPIは，アプリケーションが日付または時間を処理できるようにします。

API関数名 | 機能
AIT_GetDate | システムの日付を取得します。
AIT_GetTime | システムの時間を取得します。

4.1.5　IME操作

次のAPIは，IMEのオンまたはオフ，変換モードの切り替えなど，ユーザがよく実行する操作をアプリケーションがシミュレートできるようにします。

API関数名 | 機能
AIT_IMEGetOpenStatus | IMEがオープンステータスを取得します。
AIT_IMESetOpenStatus | IMEがオープンステータスを設定します。
AIT_IMEGetConversionStatus | IMEが変換ステータスを取得します。
AIT_IMESetConversionStatus | IMEが変換ステータスを設定します
AIT_IMEGetStatusWindowPos | IMEがステータスウィンドウの位置を取得します。
AIT_IMESetStatusWindowPos | IMEがステータスウィンドウの位置を設定します。
AIT_IMEGetProperty | IMEがプロパティを取得します。
AIT_IMESimulateHotKey | IMEがホットキーをシミュレートします。

4.1.6　文字列操作

次のAPIは，部分文字列処理，切り取り処理，ASCIIコードへの変換など，文字列処理をアプリケーションが実行できるようにします。

API関数名 | 機能
AIT_GetSubStr | 文字列から指定した長さの文字列を返します。
AIT_FindSubStr | 文字列を検索し，一致する最初の文字列の位置を返します。
AIT_StrLength | 文字列の長さを取得します。
AIT_IsEmpty | 文字列が空かどうかを確認します。
AIT_StrLTrim | 文字列から左端文字を切り取ります。
AIT_StrRTrim | 文字列から右端文字を切り取ります。
AIT_StrTrim | 文字列から文字を切り取ります。
AIT_StrUpper | 文字列を大文字に変換します。
AIT_StrLower | 文字列を小文字に変換します。
AIT_StrLeft | 文字列の左から指定した文字数を取得します。
AIT_StrRight | 文字列の右から指定した文字数を取得します。
AIT_CharToASCII | 文字をASCIIコードに変換します。
AIT_ASCIIToChar | ASCIIコードから文字に変換します。

4.1.7　メッセージ操作

次のAPIは，新規のウィンドウメッセージを記録し，ほかのウィンドウにメッセージを記入します。

API関数名 | 機能
AIT_RegisterWindowMessage | ウィンドウメッセージを記録します。
AIT_PostMessage | メッセージを記入します。

4.1.8　レジストリ操作

次のAPIは，レジストリキーの作成，キー値の照会，キーの削除など，アプリケーションがレジストリを処理できるようにします。

API関数名 | 機能
AIT_RegCreateKey | レジストリキーを作成します。
AIT_RegDeleteKey | レジストリキーを削除します。
AIT_RegDeleteValue | レジストリ値を削除します。
AIT_RegOpenKey | レジストリキーを開きます。
AIT_RegCloseKey | レジストリキーを閉じます。
AIT_RegGetStringValue | レジストリのstring値を取得します。
AIT_RegGetDWORDValue | レジストリのDWORD値を取得します。
AIT_RegSetStringValue | レジストリのstring値を設定します。
AIT_RegSetDWORDValue | レジストリのDWORD値を設定します。
AIT_RegKeyExists | レジストリキーが存在するかどうかを確認します。
AIT_RegValueExists | レジストリ値が存在するかどうかを確認します。

4.1.9　ディレクトリ操作

次のAPIは，アプリケーションがディレクトリを作成，削除，およびコピーすることを可能にします。

API関数名 | 機能
AIT_DirCreate | ディレクトリを作成します。
AIT_DirRemove | 現在のディレクトリを削除します。
AIT_DirCopy | ディレクトリをコピーします。
AIT_SetCurrentDirectory | 現在のディレクトリを設定します。
AIT_GetCurrentDirectory | 現在のディレクトリを取得します。

4.1.10　ファイル操作

次のAPIは，アプリケーションがファイルを作成，コピー，削除およびリネームすることを可能にします。

API関数名 | 機能
AIT_FileOpen | ファイルを開くか作成します。
AIT_FileClose | ファイルを閉じます。
AIT_FileGetLine | ファイルからデータを取得します。
AIT_FilePutLine | ファイルにデータを書き込みます。
AIT_FileGetPos | ファイルポインタの位置を取得します。
AIT_FileSetPos | ファイルポインタの位置を設定します。
AIT_FileEOF | ファイルの終わりであるかをチェックします。
AIT_FileSize | ファイルのサイズを取得します。
AIT_FileCopy | ファイルをコピーします。
AIT_FileDelete | ファイルを削除します。
AIT_FileExists | ファイルの存在をチェックします。
AIT_FileRename | ファイルをリネームします。
AIT_ChangeFileAttribute | ファイルの属性を変更します。
AIT_FindFirstFile | 初めのファイルを検索します。
AIT_FindNextFile | 次のファイルを検索します。
AIT_FindCloseFile | 検索ハンドルを閉じます。

4.1.11　INIファイル操作

次のAPIは，セクションでのキー値を取得する，セクションのすべての内容を取得するなどの初期化（INI）ファイル処理をアプリケーションが実行できるようにします。

API関数名 | 機能
AIT_GetProfileString | プロファイルstringを取得します。
AIT_SetProfileString | プロファイルstringを設定します。
AIT_GetProfileFirstSection | 最初のセクションを取得します。
AIT_GetProfileNextSection | 次のプロファイルセクションを取得します。
AIT_GetProfileFirstSectionNames | 最初のセクション名を取得します。
AIT_GetProfileNextSectionNames | 次のセクション名を取得します。

4.1.12　レコーダ操作

次のAPIは，自動インストールに使うAITファイルを作成するための各種APIです。

API関数名 | 機能
AIT_Sleep | 指定した期間，AITファイルの実行を中断します。
AIT_SetDefaultWaitTimeout | デフォルトの待機タイムアウト時間を設定します。
AIT_Exec | 指定した処理を実行します。
AIT_ExecCommand | 指定したMS-DOSコマンドまたはシステムコマンドを実行します。
AIT_PlayKey | アクティブなウィンドウへキーボード入力情報を送信します。

4.1.13　タスクバー操作

次のAPIは，タスクバー中の項目に対するクリックや，タスクバーがフォーカスを持っているかの確認などの，タスクバーに関する操作をするためのAPIです。

API関数名 | 機能
AIT_TaskbarItemExists | タスクバーに特定の項目が存在するかどうかをチェックします。
AIT_TaskbarItemIndex | タスクバー上の選択されている項目の（1を基準とした）インデックスを検索します。
AIT_TaskbarItemClk | シングルクリックの働きをするマウスボタンを，タスクバーの特定のタブ項目に設定します。
AIT_TaskbarItemSelected | タスクバーの特定の項目が選択されているかどうかをチェックします。
AIT_TaskbarClk | シングルクリックと同等の働きをするマウスボタンを，タスクバーの空いている場所に設定します。
AIT_TaskbarHasFocus | タスクバーが入力フォーカスを持っているかどうかをチェックします。
AIT_TaskbarSetFocus | タスクバーに入力フォーカスを設定します。

4.1.14　ユティリティ操作

次のAPIは，メッセージボックスやステータスボックスの表示，OSタイプの取得などをアプリケーションが処理できるようにするユティリティAPIです。

API関数名 | 機能
AIT_MessageBox | メッセージボックスを表示します。
AIT_StatusBox | ステータスボックスを表示します。
AIT_StatusBoxClose | ステータスボックスを閉じます。
AIT_GetEnv | 環境変数の内容を取得します。
AIT_GetLastError | 最後に発生したエラーを取得します。
AIT_GetErrorText | エラーメッセージを取得します。
AIT_InitLog | ログファイルを初期化します。
AIT_LogMessage | ログファイルにメッセージを記録します。
AIT_Exit | AITファイルの処理を終了します。
AIT_GetOSType | OSタイプを取得します。

4.1.15　JP1/NETM/DMとのインターフェース

次のAPIは，JP1/NETM/DMとのインターフェースを使用できるようにするAPIです。

API関数名
機能

AIT_DMPSTRC
JP1/NETM/DMに固有のグローバル変数を設定します。
JP1/NETM/DMでAITファイルを使用したリモートインストールを実行する場合は，必ず指定します。

4.2　APIの詳細

ここでは，各APIの詳細を説明します。

＜この節の構成＞

APIの説明形式

AIT_ASCIIToChar

AIT_ChangeFileAttribute

AIT_CharToASCII

AIT_CheckResolution

AIT_ComboBoxCloseUp

AIT_ComboBoxDropDown

AIT_CtrlClick

AIT_CtrlItemCount

AIT_CtrlItemIndex

AIT_CtrlSetFocus

AIT_DefaultButtonCount

AIT_DirCopy

AIT_DirCreate

AIT_DirRemove

AIT_DMPSTRC

AIT_Exec

AIT_ExecCommand

AIT_ExistWindow

AIT_Exit

AIT_FileClose

AIT_FileCopy

AIT_FileDelete

AIT_FileEOF

AIT_FileExists

AIT_FileGetLine

AIT_FileGetPos

AIT_FileOpen

AIT_FilePutLine

AIT_FileRename

AIT_FileSetPos

AIT_FileSize

AIT_FindCloseFile

AIT_FindFirstFile

AIT_FindNextFile

AIT_FindSubStr

AIT_FocusWindow

AIT_GetCtrlText

AIT_GetCtrlTextLen

AIT_GetCurrentDirectory

AIT_GetDate

AIT_GetDtPickerDate

AIT_GetDtPickerTime

AIT_GetEditCurrentLineIndex

AIT_GetEditFirstLineIndex

AIT_GetEditTextLineLen

AIT_GetEnv

AIT_GetErrorText

AIT_GetIndexText

AIT_GetIndexTextLen

AIT_GetKeyState

AIT_GetLastError

AIT_GetMenu

AIT_GetMenuIndex

AIT_GetMenuText

AIT_GetOSType

AIT_GetProfileFirstSection

AIT_GetProfileFirstSectionNames

AIT_GetProfileNextSection

AIT_GetProfileNextSectionNames

AIT_GetProfileString

AIT_GetSubMenu

AIT_GetSubStr

AIT_GetTime

AIT_GetWindowText

AIT_IMEGetConversionStatus

AIT_IMEGetOpenStatus

AIT_IMEGetProperty

AIT_IMEGetStatusWindowPos

AIT_IMESetConversionStatus

AIT_IMESetOpenStatus

AIT_IMESetStatusWindowPos

AIT_IMESimulateHotKey

AIT_InitLog

AIT_IsEmpty

AIT_LogMessage

AIT_MenuItemClick

AIT_MessageBox

AIT_MinWnd

AIT_MouseClick

AIT_MouseDblClk

AIT_MouseDown

AIT_MouseDragDrop

AIT_MouseMoveTo

AIT_MouseUp

AIT_PlayKey

AIT_PostMessage

AIT_RegCloseKey

AIT_RegCreateKey

AIT_RegDeleteKey

AIT_RegDeleteValue

AIT_RegGetDWORDValue

AIT_RegGetStringValue

AIT_RegisterWindowMessage

AIT_RegKeyExists

AIT_RegOpenKey

AIT_RegSetDWORDValue

AIT_RegSetStringValue

AIT_RegValueExists

AIT_SelectIPAddressField

AIT_SelectListItem

AIT_SelectMultipleListItem

AIT_SelectText

AIT_SetActWnd

AIT_SetCheck

AIT_SetComboEditSelText

AIT_SetCurrentDirectory

AIT_SetDefaultWaitTimeout

AIT_SetDtPickerDate

AIT_SetDtPickerTime

AIT_SetKeyState

AIT_SetProfileString

AIT_SetScrollPos

AIT_SetSpinPos

AIT_SetWndPos

AIT_SetWndPosSize

AIT_Sleep

AIT_StatusBox

AIT_StatusBoxClose

AIT_StrLeft

AIT_StrLength

AIT_StrLower

AIT_StrLTrim

AIT_StrRight

AIT_StrRTrim

AIT_StrTrim

AIT_StrUpper

AIT_TaskbarClk

AIT_TaskbarHasFocus

AIT_TaskbarItemClk

AIT_TaskbarItemExists

AIT_TaskbarItemIndex

AIT_TaskbarItemSelected

AIT_TaskbarSetFocus

AIT_VerifyCharPos

AIT_VerifyCount

AIT_VerifyDateTime

AIT_VerifyDefaultButton

AIT_VerifyEnabled

AIT_VerifyExistence

AIT_VerifyFirstVisible

AIT_VerifyFocus

AIT_VerifyIndex

AIT_VerifyKeyState

AIT_VerifyLine

AIT_VerifyLocation

AIT_VerifyMenuChecked

AIT_VerifyMenuEnabled

AIT_VerifyNoOfCtrls

AIT_VerifyPos

AIT_VerifySelected

AIT_VerifyState

AIT_VerifyText

APIの説明形式

APIは，基本的には次に示す形式で説明しています。各APIは，API名のアルファベット順に並んでいます。

機能

APIの機能を示しています。

形式

APIの記述形式を示しています。

[ ]で囲まれた引数は省略できます。省略した場合は，デフォルト値が設定されます。これらの引数は常にAPIの最後の引数となります。

（例1）

bool AIT_SelectListItem ( strCaption, nCtrlType, strItemText [, fTimeOut] );

上記のAPIでは，fTimeOutは関数呼び出し時に指定する必要はありません。

（例2）

AIT_SelectListItem ( "Countries" LISTBOX_CTRL, "Japan" );
integer AIT_MessageBox ( strMessage, strTitle [, nIconType] [, nMsgBoxType] );

上記のAPIでは，nIconTypeとnMsgBoxTypeの両方を省略して次のように呼び出せます。

AIT_MessageBox( "Hello World","Error");

nMsgBoxTypeを指定してnIconTypeを指定したくない場合，nIconTypeのデフォルト値が設定されます。

AIT_MessageBox( "Hello World","Error", MB_ICONEXCLAMATION );

引数

APIで指定できる引数を示しています。入力用の引数の場合は（入力用），出力用の引数の場合は（出力用），入力用で省略できる場合は（入力用，省略可）と示しています。

戻り値

APIの戻り値を示しています。

APIが実行中に処理を失敗した場合のためにエラーコードが設定されています。このエラーコードはAIT_GetLastErrorというAPIを使用して取得できます。ユーザが特殊なコードのために特殊なエラー処理を必要とする場合は，APIが正常に実行されたか失敗したかをチェックしたあとで，AITファイルによって適切に扱うことになります。

ランタイムエラーが発生した場合，AITファイル内のERRORセクションが自動的に実行されます。

注意事項

API実行時の注意事項がある場合に記載しています。

AIT_ASCIIToChar

機能

指定したASCIIコードを文字に変換します。

形式

string AIT_ASCIIToChar  (
 integer nASCIIValue     // ASCIIコード
);

引数

nASCIIValue（入力用）

ASCIIコードを指定してください。

戻り値

ASCIIコードに対応する文字が返されます。

AIT_ChangeFileAttribute

機能

指定したファイルまたはディレクトリの属性を変更します。

形式

bool AIT_ChangeFileAttribute  (
 string strFileName,     // ファイル名
 integer nFileAttributes // ファイル属性
);

引数

strFileName（入力用）

ファイル名を指定してください。ディレクトリを指定することもできます。

nFileAttributes（入力用）

変更後の属性を指定してください。入力に使用できる値については，「AIT_FileExists」を参照してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得してください。

関数が正常に実行されなかった場合にAIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
18 | ERROR_NO_MORE_FILES
21 | ERROR_NOT_READY
53 | ERROR_BAD_NETPATH
87 | ERROR_INVALID_PARAMETER
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
183 | ERROR_ALREADY_EXISTS
206 | ERROR_FILENAME_EXCED_RANGE
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

AIT_CharToASCII

機能

指定した文字をASCIIコードに変換します。

形式

integer AIT_CharToASCII (
 string strStrName     // 1文字以上の文字列
);

引数

strStrName（入力用）

文字列名を指定してください。

戻り値

最初の文字のASCIIコードが返されます。

AIT_CheckResolution

機能

指定した解像度が現在の画面の解像度と適合しているかどうかをチェックします。

形式

integer AIT_CheckResolution  (
 integer nWidth,     // チェックする画面の幅
 integer nHeight     // チェックする画面の高さ
);

引数

nWidth（入力用）

プライマリディスプレイモニタの画面でチェックする幅をピクセル単位で指定してください。

nHeight（入力用）

プライマリディスプレイモニタの画面でチェックする高さをピクセル単位で指定してください。

戻り値

指定した解像度が現在の解像度と一致する場合，戻り値は1です。指定した解像度が現在の解像度と一致しない場合，戻り値は0です。失敗した場合，戻り値は-1です。-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER

AIT_ComboBoxCloseUp

機能

コンボボックスのクローズアップをシミュレートします。

形式

bool AIT_ComboBoxCloseUp  (
 string strCaption    // コントロールのキャプション
 [,float fTimeOut]    // タイムアウト時間
);
bool AIT_ComboBoxCloseUp  (
 integer nCtrlID     // コントロールID
 [,float fTimeOut]   // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

fTimeOut（入力用，省略可）

コントロールが戻らなかった場合に再試行するためのタイムアウト値を秒単位で指定してください。この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_ComboBoxDropDown

機能

コンボボックスのドロップダウンをシミュレートします。

形式

bool AIT_ComboBoxDropDown  (
 string strCaption       // コントロールのキャプション
 [,float fTimeOut]       // タイムアウト時間
);
bool AIT_ComboBoxDropDown  (
 integer nCtrlID         // コントロールID
 [,float fTimeOut]       // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_CtrlClick

機能

アクティブなウィンドウの特定のコントロールでマウスをクリックします。

形式

bool AIT_CtrlClick  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nMouseButton   // マウスボタン
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_CtrlClick  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 integer nMouseButton   // マウスボタン
 [,float fTimeOut]      // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストコントロールです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。

nMouseButton（入力用，省略可）

マウスでクリックするボタンを指定してください。次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTON | 中央マウスボタン
RBUTTON | 右マウスボタン

省略した場合は，LBUTTONがデフォルト値として使用されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_CtrlItemCount

機能

アクティブなウィンドウの特定のコントロールで，項目数を取得します。

形式

bool AIT_CtrlItemCount  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nItemCount     // 項目数
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_CtrlItemCount  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 integer nItemCount     // 項目のカウント
 [,float fTimeOut]      // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。

nItemCount（出力用）

コントロール内の項目数を受け取る変数を指定してください。関数から制御が戻ると，この変数に項目数が格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_CtrlItemIndex

機能

アクティブなウィンドウの特定のコントロールで，項目テキストのインデックスを取得します。

形式

bool AIT_CtrlItemIndex  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 string strItemText,    // 項目テキスト
 integer nIndex         // 項目インデックス
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_CtrlItemIndex  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 string strItemText,    // 項目のテキスト
 integer nIndex         // 項目のインデックス
 [,float fTimeOut]      // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。

strItemText（入力用）

インデックスを取得するための項目テキストを指定してください。

nIndex（出力用）

テキストのインデックスを受け取る変数を指定してください。関数から制御が戻ると，この変数に項目テキストのインデックスが格納されます。インデックスの基準値は0です。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には， AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1413 | ERROR_INVALID_INDEX
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_CtrlSetFocus

機能

特定のコントロールにフォーカスを設定します。

形式

bool AIT_CtrlSetFocus (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType      // コントロールタイプ
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_CtrlSetFocus (
 integer nCtrlID,       // コントロールID
 integer nCtrlType      // コントロールタイプ
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_CtrlSetFocus (
 integer nIndex         // コントロールのインデックス
 [,float fTimeOut]        // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。

nIndex（入力可）

コントロールのタブオーダーを指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_DefaultButtonCount

機能

アクティブなウィンドウの，デフォルトボタンを持つコマンドボタンの数を取得します。

形式

integer AIT_DefaultButtonCount ();

引数

なし

戻り値

関数が正常に処理された場合，戻り値はデフォルトボタンを持つコマンドボタンの数です。そのほかの場合，戻り値はfalseです。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
112 | ERROR_DISK_FULL
1460 | ERROR_TIMEOUT

AIT_DirCopy

機能

ディレクトリをほかの場所にコピーします。コピー先ディレクトリがすでに存在する場合は，そのディレクトリが上書きされます。

形式

bool AIT_DirCopy  (
 string strSourceDirName,     // コピー元ディレクトリ名
 string strTargetDirName      // コピー先ディレクトリ名
);

引数

strSourceDirName（入力用）

コピー元ディレクトリ名を指定してください。

strTargetDirName（入力用）

コピー先ディレクトリ名を指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER
266 | ERROR_CANNOT_COPY

AIT_DirCreate

機能

新規ディレクトリを作成します。

形式

bool AIT_DirCreate  (
 string strDirName    // ディレクトリ名
);

引数

strDirName（入力用）

作成するディレクトリ名を指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
19 | ERROR_WRITE_PROTECT
21 | ERROR_NOT_READY
23 | ERROR_CRC
53 | ERROR_BAD_NETPATH
64 | ERROR_NETNAME_DELETED
82 | ERROR_CANNOT_MAKE
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
183 | ERROR_ALREADY_EXISTS
206 | ERROR_FILENAME_EXCED_RANGE
267 | ERROR_DIRECTORY
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

AIT_DirRemove

機能

既存のディレクトリを削除します。

形式

bool AIT_DirRemove  (
 string strDirName    // ディレクトリ名
);

引数

strDirName（入力用）

ディレクトリ名を指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
16 | ERROR_CURRENT_DIRECTORY
87 | ERROR_INVALID_PARAMETER

AIT_DMPSTRC

機能

JP1/NETM/DMに固有のグローバル変数を設定します。JP1/NETM/DMでAITファイルを使用したリモートインストールを実行する場合は，必ず指定してください。

このAPIは，AITファイルでインストールプログラムを起動する前に呼び出されます。

形式

bool AIT_DMPSTRC ();

引数

なし

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
21 | ERROR_NOT_READY
38 | ERROR_HANDLE_EOF
53 | ERROR_BAD_NETPATH
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
206 | ERROR_FILENAME_EXCED_RANGE
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

AIT_Exec

機能

指定したアプリケーションファイルを実行します。

形式

bool AIT_Exec  (
 string strExeName,     // アプリケーションファイルの名前
 integer nShowState     // 表示状態
);

引数

strExeName（入力用）

アプリケーションファイルの名前を指定してください。

nShowState（入力用）

アプリケーションの表示方法を指定してください。次のどれかにする必要があります。

値
意味

SW_HIDE
アプリケーションを非表示にします。

SW_SHOWNORMAL
or
SW_NORMAL
アプリケーションを通常の状態で表示します。

SW_SHOWMINIMIZED
アプリケーションを最小化します。

SW_SHOWMAXIMIZED
or
SW_MAXIMIZE
アプリケーションを最大化します。

SW_SHOWNOACTIVATE
アプリケーションをフォーカスなしで通常の状態で表示します。

SW_SHOWMINNOACTIVE
アプリケーションをフォーカスなしで最小化します。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
21 | ERROR_NOT_READY
87 | ERROR_INVALID_PARAMETER
123 | ERROR_INVALID_NAME

AIT_ExecCommand

機能

MS-DOSコマンドまたはシステムコマンドを実行します。

形式

bool AIT_ExecCommand  (
 string strCommandName     // MS-DOSコマンド
);

引数

strCommandName（入力用）

アプリケーションファイルの名前またはシステムコマンドを指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
21 | ERROR_NOT_READY
87 | ERROR_INVALID_PARAMETER
123 | ERROR_INVALID_NAME

AIT_ExistWindow

機能

指定したウィンドウ名およびクラス名と一致するウィンドウがあるかどうかをチェックします。

形式

integer AIT_ExistWindow  (
 string strWndCaption,     // ウィンドウのキャプション
 string strClassName       // クラス名
 [,float fTimeOut]         // タイムアウト時間
);

引数

strWndCaption（入力用）

ウィンドウのキャプションを指定してください。

strClassName（入力用）

ウィンドウのクラス名を指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

ウィンドウが存在する場合，戻り値は1です。ウィンドウが存在しない場合，戻り値は0です。失敗した場合，戻り値は-1です。-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

AIT_Exit

機能

AITファイルの実行を終了します。

形式

AIT_Exit ();

引数

なし

戻り値

なし

AIT_FileClose

機能

ファイルハンドルを閉じます。

形式

bool AIT_FileClose  (
 integer nFileHandle     // ファイルハンドル
);

引数

nFileHandle（入力用）

AIT_FileOpen関数を使って開いたファイルハンドルを指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
4 | ERROR_TOO_MANY_OPEN_FILES
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY

AIT_FileCopy

機能

コピー元ファイルをコピー先ファイルにコピーします。コピー先に同じファイルがすでに存在する場合は，そのファイルが上書きされます。

形式

bool AIT_FileCopy  (
 string strSourceFileName,     // コピー元のファイル名
 string strTargetFileName      // コピー先のファイル名
);

引数

strSourceFileName（入力用）

コピー元のファイルの名前を指定してください。ワイルドカード（*）も使用できます。

strTargetFileName（入力用）

コピー先ファイルまたはディレクトリの名前を指定してください。ワイルドカードは使用できません。コピー先ディレクトリが存在しない場合は，ディレクトリが作成されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
87 | ERROR_INVALID_PARAMETER
117 | ERROR_INVALID_CATEGORY

AIT_FileDelete

機能

指定したファイルを削除します。

形式

bool AIT_FileDelete  (
 string strFileName     // ファイル名
);

引数

strFileName（入力用）

削除するファイルの名前を指定してください。ワイルドカード（*）も使用できます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
19 | ERROR_WRITE_PROTECT
21 | ERROR_NOT_READY
53 | ERROR_BAD_NETPATH
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

AIT_FileEOF

機能

ファイルポインタがファイルの終わりに到達したかどうかを確認します。

形式

integer AIT_FileEOF (
 integer nFileHandle     // ファイルハンドル
);

引数

nFileHandle（入力用）

ファイルハンドルを指定してください。

戻り値

EOFの場合，戻り値は1です。EOFではない場合，戻り値は0です。失敗した場合，戻り値は-1です。-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
21 | ERROR_NOT_READY
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
112 | ERROR_DISK_FULL
148 | ERROR_PATH_BUSY
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

AIT_FileExists

機能

指定した属性でファイルが存在するかどうかを確認します。

形式

integer AIT_FileExists  (
 string strFileName            // ファイル名
 [,integer nFileAttributes]    // ファイル属性
);

引数

strFileName（入力用）

検索するファイルの名前を指定してください。

nFileAttributes（入力用，省略可）

ファイルの属性を指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
FILE_ATTRIBUTE_DIRECTORY | ファイルはディレクトリです。
FILE_ATTRIBUTE_HIDDEN | ファイルは隠しファイルです。
FILE_ATTRIBUTE_SYSTEM | ファイルはOSの一部，またはOS専用です。
FILE_ATTRIBUTE_ARCHIVE | ファイルはアーカイブファイルです。アプリケーションはこの属性を，ファイルのバックアップや削除のためのマークとして使います。
FILE_ATTRIBUTE_READONLY | ファイルは読み取り専用です。アプリケーションはファイルを読み取れますが，書き込みや削除はできません。

省略した場合は，ファイル属性とは無関係にファイルが検出されます。

戻り値

ファイルが存在する場合，戻り値は1です。ファイルが存在しない場合，戻り値は0です。失敗した場合，戻り値は-1です。-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
21 | ERROR_NOT_READY
53 | ERROR_BAD_NETPATH
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
998 | ERROR_NOACCESS
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

AIT_FileGetLine

機能

指定したファイルから，データを読み取ります。

形式

bool AIT_FileGetLine  (
 integer nFileHandle,    // ファイルハンドル
 string strReadData      // ファイルから読み取るデータ
);

引数

nFileHandle（入力用）

ファイルハンドルを指定してください。

strReadData（出力用）

ファイルから読み取るデータを受け取る変数を指定してください。関数から制御が戻ると，この変数にデータが格納されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
21 | ERROR_NOT_READY
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
38 | ERROR_HANDLE_EOF
112 | ERROR_DISK_FULL
148 | ERROR_PATH_BUSY
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

AIT_FileGetPos

機能

ファイルポインタの現在位置を取得します。

形式

bool AIT_FileGetPos  (
 integer nFileHandle,    // ファイルハンドル
 integer nFilePos        // 現在のファイルポインタ位置
);

引数

nFileHandle（入力用）

ファイルハンドルを指定してください。

nFilePos（出力用）

現在のファイルポインタの位置を受け取る変数を指定してください。関数から制御が戻ると，この変数にポインタ位置が格納されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
21 | ERROR_NOT_READY
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
38 | ERROR_HANDLE_EOF
112 | ERROR_DISK_FULL
148 | ERROR_PATH_BUSY
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

AIT_FileOpen

機能

既存のファイルを開きます。または，指定したアクセスモードで新規ファイルを作成します。

形式

bool AIT_FileOpen  (
 string strFileName,     // ファイル名
 integer nAccessMode,    // アクセスモード
 integer nOperation,     // 作成方法
 integer nFileHandle     // ファイルハンドル
);

引数

strFileName（入力用）

作成するファイルまたは開くファイルの名前を指定してください。

nAccessMode（入力用）

ファイルへのアクセスモードを指定してください。これは，次の値のどれかまたは両方の組み合わせです。

値 | 意味
GENERIC_READ | ファイルへの読み取りアクセスを指定します。ファイルからのデータの読み取りとファイルポインタの移動が可能です。読み取り/書き込みアクセスを指定するには，GENERIC_WRITEと組み合わせてください。
GENERIC_WRITE | ファイルへの書き込みアクセスを指定します。ファイルへのデータの書き込みとファイルポインタの移動が可能です。読み取り/書き込みアクセスを指定するには，GENERIC_READと組み合わせてください。

nOperation（入力用）

ファイルが存在する場合，または存在しない場合のファイルの扱い方を指定します。次の値のどれかにする必要があります。

値 | 意味
CREATE_NEW | 新規ファイルを作成します。指定したファイルがすでに存在する場合，関数は失敗します。
CREATE_ALWAYS | 新規ファイルを作成します。指定したファイルがすでに存在する場合，関数はそのファイルを上書きします。
OPEN_EXISTING | ファイルを開きます。ファイルが存在しない場合，関数は失敗します。
OPEN_ALWAYS | ファイルが存在する場合は，それを開きます。ファイルが存在しない場合は，そのファイルが作成されます。
TRUNCATE_EXISTING | ファイルを開きます。開かれたファイルは，サイズが0バイトになるように切り捨てられます。呼び出しプロセスで，少なくともGENERIC_WRITEアクセスを指定してファイルを開く必要があります。ファイルが存在しない場合，関数は失敗します。

nFileHandle（出力用）

ファイルハンドルを受け取る変数を指定してください。関数から制御が戻ると，この変数にファイルハンドルが格納されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
4 | ERROR_TOO_MANY_OPEN_FILES
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
18 | ERROR_NO_MORE_FILES
19 | ERROR_WRITE_PROTECT
21 | ERROR_NOT_READY
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
53 | ERROR_BAD_NETPATH
80 | ERROR_FILE_EXISTS
82 | ERROR_CANNOT_MAKE
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
183 | ERROR_ALREADY_EXISTS
206 | ERROR_FILENAME_EXCED_RANGE
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

注意事項

AIT_OpenFileが返したファイルハンドルを閉じるには，AIT_FileClose関数を使用してください。

AIT_FilePutLine

機能

指定したファイルに，データを書き込みます。

形式

bool AIT_FilePutLine  (
 integer nFileHandle,     // ファイルハンドル
 string strWriteData      // ファイルに書き込むデータ
);

引数

nFileHandle（入力用）

ファイルハンドルを指定してください。

strWriteData（入力用）

ファイルに書き込むデータを指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
19 | ERROR_WRITE_PROTECT
21 | ERROR_NOT_READY
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
38 | ERROR_HANDLE_EOF
112 | ERROR_DISK_FULL
148 | ERROR_PATH_BUSY
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

注意事項

0バイトの書き込みを指定すると，null書き込み操作の指定として解釈されます。

AIT_FilePutLineは，現在のファイルポインタ位置にデータを書き込みます。ファイルポインタ位置は，書き込み操作後に更新されます。

AIT_FileRename

機能

ファイルまたはディレクトリの名前を変更します。

形式

bool AIT_FileRename (
 string strFileName,       // 現在のファイル名
 string strNewFileName     // 新しいファイル名
);

引数

strFileName（入力用）

名前を変更するファイルまたはディレクトリの名前を指定してください。

strNewFileName（入力用）

ファイルまたはディレクトリの新しい名前を指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
19 | ERROR_WRITE_PROTECT
21 | ERROR_NOT_READY
38 | ERROR_HANDLE_EOF
53 | ERROR_BAD_NETPATH
80 | ERROR_FILE_EXISTS
82 | ERROR_CANNOT_MAKE
87 | ERROR_INVALID_PARAMETER
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

AIT_FileSetPos

機能

ファイルポインタを指定した位置に設定します。

形式

bool AIT_FileSetPos  (
 integer nFileHandle,     // ファイルハンドル
 integer nSetPos          // 設定後のファイルポインタの位置
);

引数

nFileHandle（入力用）

ファイルハンドルを指定してください。

nSetPos（入力用）

設定後のファイルポインタの位置を指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
19 | ERROR_WRITE_PROTECT
21 | ERROR_NOT_READY
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
38 | ERROR_HANDLE_EOF
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
148 | ERROR_PATH_BUSY
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

注意事項

nFileHandle引数の値で示すファイルポインタは，重複する読み取り操作や書き込み操作に使用しないでください。

設定後のファイルポインタの位置に0を指定してこの関数を実行すると，現在のファイルポインタ位置が保持されます。

AIT_FileSize

機能

ファイルのサイズを取得します。

形式

bool AIT_FileSize  (
 integer nFileHandle,     // ファイルハンドル
 integer nFileSize        // ファイルサイズ
);

引数

nFileHandle（入力用）

ファイルハンドルを指定してください。

nFileSize（出力用）

ファイルサイズを受け取る変数を指定してください。関数から制御が戻ると，この変数にファイルサイズが格納されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
21 | ERROR_NOT_READY
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
38 | ERROR_HANDLE_EOF
112 | ERROR_DISK_FULL
148 | ERROR_PATH_BUSY
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

注意事項

AIT_FileSize関数は，圧縮されていないファイルサイズを取得します。

AIT_FindCloseFile

機能

AIT_FindFirstFile関数によって返されたファイル検索ハンドルを閉じます。

形式

bool AIT_FindCloseFile  (
 integer nSearchHandle     // ファイル検索ハンドル
);

引数

nSearchHandle（入力用）

AIT_FindFirstFile関数によって返されたファイルの検索ハンドルを指定してください。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
112 | ERROR_DISK_FULL

注意事項

AIT_FindClose関数の呼び出し後，nSearchHandle引数で指定したハンドルを，AIT_FindNextFile関数またはAIT_FindCloseFile関数への後続の呼び出しに使用することはできません。

AIT_FindFirstFile

機能

ファイル検索ハンドルを開いて，指定したファイル名と名前が一致する最初のファイル名を返します。

形式

bool AIT_FindFirstFile  (
 string strFileNamePattern,    // ファイル名
 string strFileName,           // 検索されたファイル名
 integer nSearchHandle         // ファイル検索ハンドル
);

引数

strFileNamePattern（入力用）

有効なディレクトリの名前，パスまたはファイル名を指定してください。ワイルドカード（*）も使用できます。文字列がワイルドカード，ピリオド，またはディレクトリ名で終わる場合，ユーザはルートまたはパス上のすべてのサブディレクトリへのアクセス権を持っている必要があります。

strFileName（出力用）

指定したファイル名と一致する，検索されたファイルの名前を受け取る変数を指定してください。関数から制御が戻ると，この変数に検索されたファイルの名前が格納されます。

nSearchHandle（出力用）

AIT_FindNextFileおよびAIT_FindCloseFileへの後続の検索で使用するファイル検索ハンドルを受け取る変数を指定してください。関数から制御が戻ると，この変数にファイル検索ハンドルが格納されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
18 | ERROR_NO_MORE_FILES
21 | ERROR_NOT_READY
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

注意事項

この関数は，ファイルを名前だけで検索します。属性での検索には使用できません。後続の「¥」の有無に関係なく，ルートディレクトリをAIT_FindFirstFileのstrFileName入力文字列として指定することはできません。

AIT_FindFirstFileによって返されたファイル検索ハンドルを閉じるには，AIT_FindCloseFileを使用してください。

AIT_FindNextFile

機能

AIT_FindFirstFile関数によって返された検索ハンドルで，次のファイルを検索します。

形式

bool AIT_FindNextFile  (
 integer nSearchHandle,     // ファイル検索ハンドル
 string strFileName         // 検索されたファイル名
);

引数

nSearchHandle（入力用）

AIT_FindFirstFileへの前の呼び出しによって返されたファイル検索ハンドルを指定してください。

strFileName（出力用）

検索されたファイルの名前を受け取る変数を指定してください。関数から制御が戻ると，この変数に検索されたファイルの名前が格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
18 | ERROR_NO_MORE_FILES
21 | ERROR_NOT_READY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
148 | ERROR_PATH_BUSY
1231 | ERROR_NETWORK_UNREACHABLE

注意事項

この関数は，ファイルを名前だけで検索します。属性ベースの検索には使用できません。

AIT_FindSubStr

機能

指定した検索文字列を，文字列内のnStartPosで指定した位置から検索し，一致する最初の文字列の位置を返します。

形式

integer AIT_FindSubStr  (
 string strStrName,      // 文字列
 string strSearchStr     // 検索文字列
 [,integer nStartPos]    // 検索を始める文字の位置
);

引数

strStrName（入力用）

文字列を指定してください。

strSearchStr（入力用）

検索対象文字列を指定してください。

nStartPos（入力用，省略可）

文字列の検索を始める位置を指定してください。nStartPosの基準値は0で，0の位置は文字列の最初の文字に対応します。省略した場合は，最初の文字から検索します。

戻り値

検索対象文字列の最初の文字につき基準値0のインデックスを返します。文字列が含まれない場合とヌル文字列が指定されている場合は-1を返します。

AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER

AIT_FocusWindow

機能

指定したウィンドウ名とクラス名を持つウィンドウハンドルを取得して，フォーカスを設定します。

形式

integer AIT_FocusWindow  (
 string strWndCaption,     // ウィンドウのキャプション
 string strClassName       // クラス名
 [,float fTimeOut]         // タイムアウト時間
);

引数

strWndCaption（入力用）

ウィンドウのキャプションを指定してください。

strClassName（入力用）

ウィンドウのクラス名を指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合のウィンドウハンドルが戻り値となり，処理が失敗した場合の戻り値は0となります。関数が0を返した場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

strWndCaptionに空の文字列を指定すると，空白のキャプションが付いたウィンドウを検索します。空白のキャプションが付いたウィンドウが複数ある場合は，最初に発見されたウィンドウにフォーカスを設定します。

AIT_GetCtrlText

機能

アクティブなウィンドウの特定のコントロールからテキストを取得します。

形式

bool AIT_GetCtrlText  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 string strCtrlText     // コントロールのテキスト
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_GetCtrlText  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 string strCtrlText    // コントロールのテキスト
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストコントロールです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。

strCtrlText（出力用）

コントロールのテキストを受け取る変数を指定してください。関数から制御が戻ると，この変数にテキストが格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には， AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

エディットボックスについては，エディットボックスの内容のテキストを取得します。スタティックテキストとボタンについては，コントロールのキャプションを取得します。そのほかのコントロールについては，その時点で選択されている項目をテキストとして取得します。

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetCtrlTextLen

機能

アクティブなウィンドウの特定のコントロールからテキストの長さを取得します。

形式

bool AIT_GetCtrlTextLen  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nTextLen       // コントロールテキストの長さ
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_GetCtrlTextLen  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 integer nTextLen      // コントロールテキストの長さ
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。

nTextLen（出力用）

コントロールテキストの長さを受け取る変数を指定してください。関数から制御が戻ると，この変数にテキストの長さが格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には， AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetCurrentDirectory

機能

カレントディレクトリを取得します。

形式

bool AIT_GetCurrentDirectory  (
 string strDirName      // ディレクトリ名
);

引数

strDirName（出力用）

ディレクトリ名を受け取る変数を指定してください。関数から制御が戻ると，この変数にディレクトリ名が格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY

AIT_GetDate

機能

システムの日付を短い形式で取得します。

形式

string AIT_GetDate ();

引数

なし

戻り値

システムの日付を短い形式で文字列として返します。

AIT_GetDtPickerDate

機能

日時ピッカーから日付を取得します。

形式

bool AIT_GetDtPickerDate  (
 string strCaption,     // コントロールのキャプション
 string strOutDate      // コントロールの日付
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_GetDtPickerDate  (
 string strCaption,    // コントロールのキャプション
 integer nYear,        // 年
 integer nMonth,       // 月
 integer nDay          // 日
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_GetDtPickerDate  (
 integer nCtrlID,      // コントロールID
 string strOutDate     // コントロールの日付
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_GetDtPickerDate  (
 integer nCtrlID,     // コントロールID
 integer nYear,       // 年
 integer nMonth,      // 月
 integer nDay         // 日
 [,float fTimeOut]    // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

strOutDate（出力用）

コントロールの日付の値を受け取る変数を設定してください。関数から制御が戻ると，この変数に日付が格納されます。日付の値はYYYY/MM/DDという形式になり，YYYYが年，MMが月，DDが日を表します。

nYear（出力用）

コントロールの年の値を受け取る変数を指定してください。関数から制御が戻ると，この変数に年が格納されます。

nMonth（出力用）

コントロールの月の値を受け取る変数を指定してください。関数から制御が戻ると，この変数に月が格納されます。

nDay（出力用）

コントロールの日の値を受け取る変数を指定してください。関数から制御が戻ると，この変数に日が格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には， AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetDtPickerTime

機能

日時ピッカーの時間を取得します。

形式

bool AIT_GetDtPickerTime  (
 string strCaption,    // コントロールのキャプション
 string strOutTime     // コントロールの時間
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_GetDtPickerTime  (
 string strCaption,    // コントロールID
 integer nHour,        // 時間
 integer nMinute,      // 分
 integer nSecond       // 秒
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_GetDtPickerTime  (
 integer nCtrlID,      // コントロールID
 string strOutTime     // コントロールの時間
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_SetDtPickerTime  (
 integer nCtrlID,      // コントロールID
 integer nHour,        // 時間
 integer nMinute,      // 分
 integer nSecond       // 秒
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

strOutTime（出力用）

コントロールの時刻の値を受け取る変数を設定してください。関数から制御が戻ると，この変数に時間が格納されます。時間の値はhh:mm:ssという形式になり，hhが時間，mmが分，ssが秒を表します。

nHour（出力用）

コントロールの時間の値を受け取る変数を指定してください。関数から制御が戻ると，この変数に時間が格納されます。

nMinute（出力用）

コントロールの分の値を受け取る変数を指定してください。関数から制御が戻ると，この変数に分が格納されます。

nSecond（出力用）

コントロールの秒の値を受け取る変数を指定してください。関数から制御が戻ると，この変数に秒が格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetEditCurrentLineIndex

機能

複数行のエディットボックスの，カレント行のインデックスを取得します。カレント行とは，入力位置が設定されている行を指します。

形式

bool AIT_GetEditCurrentLineIndex  (
 string strCaption,   // コントロールのキャプション
 integer nIndex       // カレント行のインデックス
 [,float fTimeOut]    // タイムアウト時間
);
bool AIT_GetEditCurrentLineIndex  (
 integer nCtrlID,     // コントロールID
 integer nIndex       // カレント行のインデックス
 [,float fTimeOut]    // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nIndex（出力用）

カレント行のインデックスを受け取る変数を指定してください。関数から制御が戻ると，この変数にカレント行のインデックスが格納されます。インデックスの基準値は0です。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetEditFirstLineIndex

機能

複数行のエディットボックスに表示される最初の行，または単一行のエディットボックスに表示される最初の文字のインデックスを取得します。

形式

bool AIT_GetEditFirstLineIndex  (
 string strCaption,      // コントロールのキャプション
 integer nFirstVisible   // 最初の行または文字のインデックス
 [,float fTimeOut]       // タイムアウト時間
);
bool AIT_GetEditFirstLineIndex  (
 integer nCtrlID,        // コントロールID
 integer nFirstVisible   // 最初の行または文字のインデックス
 [,float fTimeOut]       // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nFirstVisible（出力用）

最初の行または最初の文字の，インデックスの値を受け取る変数を指定してください。関数から制御が戻ると，この変数にインデックスが格納されます。インデックスの基準値は0です。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetEditTextLineLen

機能

アクティブなウィンドウの複数行のエディットボックスにある任意の行の長さを取得します。

形式

bool AIT_GetEditTextLineLen  (
 string strCaption,    // コントロールのキャプション
 integer nLineIndex,   // 行のインデックス
 integer nLineLength   // 行の長さ
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_GetEditTextLineLen  (
 integer nCtrlID,      // コントロールID
 integer nLineIndex,   // 行のインデックス
 integer nLineLength   // 行の長さ
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nLineIndex（入力用）

複数行のエディットボックスのインデックスを指定してください。インデックスの基準値は0です。

nLineLength（出力用）

nLineIndexで指定した行のインデックスの長さを受け取る変数を指定してください。関数から制御が戻ると，この変数に長さが格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には， AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetEnv

機能

指定した環境変数の内容を取得します。

形式

string AIT_GetEnv  (
 string strEnvVar     // 環境変数名
);

引数

strEnvVar（入力用）

環境変数名を指定してください。

戻り値

環境変数の内容を返します。

AIT_GetErrorText

機能

指定したエラーコードに対応するシステムエラーテキストを取得します。

形式

string AIT_GetErrorText  (
 integer nErrorCode     // エラーコード
);

引数

nErrorCode（入力用）

AIT_GetLastError関数が返したエラーコードを指定してください。

戻り値

指定したエラーコードに対応するエラーメッセージを返します。

AIT_GetIndexText

機能

アクティブなウィンドウの特定のコントロールから，インデックスで指定した項目テキストを取得します。

形式

bool AIT_GetIndexText  (
 string strCaption,    // コントロールのキャプション
 integer nCtrlType,    // コントロールタイプ
 integer nIndex,       // インデックス
 string strItemText    // 項目テキスト
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_GetIndexText  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 integer nIndex,       // インデックス
 string strItemText    // 項目テキスト
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。

nIndex（入力用）

取得する項目テキストのインデックスを指定してください。インデックスの基準値は0です。

strItemText（出力用）

コントロール上で指定したインデックスの項目テキストを受け取る変数を指定してください。関数から制御が戻ると，この変数に項目テキストが格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には， AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1413 | ERROR_INVALID_INDEX
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetIndexTextLen

機能

アクティブなウィンドウの特定のコントロールから，インデックスで指定した項目テキストの長さを取得します。

形式

bool AIT_GetIndexTextLen  (
 string strCaption,    // コントロールのキャプション
 integer nCtrlType,    // コントロールタイプ
 integer nIndex,       // インデックス
 integer nTextLen      // テキストの長さ
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_GetIndexTextLen  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 integer nIndex,       // インデックス
 integer nTextLen      // テキストの長さ
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。

nIndex（入力用）

取得する項目テキストのインデックスを指定してください。インデックスの基準値は0です。

nTextLen（出力用）

コントロール上で指定したインデックスの，項目テキストの長さを受け取る変数を指定してください。関数から制御が戻ると，この変数に項目テキストの長さが格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には， AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_GetKeyState

機能

キー状態を取得します。

形式

int AIT_GetKeyState  (
 integer nVirtualKey    // 仮想キー
);

引数

nVirtualKey（入力用）

キー状態を取得する仮想キーコードを指定してください。

これは，次の値のどれかにする必要があります。

値 | 意味
NUMLOCK | ［Num Lock］キー
SCROLLLOCK | ［Scroll Lock］キー
CAPSLOCK | ［Caps Lock］キー

戻り値

キー状態がオンの場合の戻り値は1，オフの場合は0となります。処理が失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER

AIT_GetLastError

機能

直前に実行した関数の詳細コードを取得します。

形式

integer AIT_GetLastError ();

引数

なし

戻り値

詳細コードを返します。この詳細コードはランタイムエラーのコードと同じです。

AIT_GetMenu

機能

ウィンドウのメニューハンドルを取得するために使用します。

形式

bool AIT_GetMenu  (
 integer nWndHandle,    // ウィンドウハンドル
 integer nMenu          // メニューハンドル
 [,float fTimeOut]      // タイムアウト時間
);

引数

nWndHandle（入力用）

ウィンドウハンドルを指定してください。

nMenu（出力用）

メニューハンドルを受け取る変数を指定してください。関数から制御が戻ると，この変数にハンドルが格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

AIT_GetMenuIndex

機能

指定したメニュー項目のインデックスを取得します。

形式

bool AIT_GetMenuIndex  (
 integer nMenu,         // メニューハンドル
 string strMenuText,    // メニュー項目
 integer nIndex         // メニュー項目のインデックス
 [,float fTimeOut]      // タイムアウト時間
);

引数

nMenu（入力用）

メニューハンドルを指定してください。

strMenuText（入力用）

メニュー項目を指定してください。

nIndex（出力用）

メニュー項目のインデックスを受け取る変数を指定してください。関数から制御が戻ると，この変数にインデックスが格納されます。インデックスの基準値は0です。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には， AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
112 | ERROR_DISK_FULL
1401 | ERROR_INVALID_MENU_HANDLE
1460 | ERROR_TIMEOUT

AIT_GetMenuText

機能

指定したメニュー項目を取得します。

形式

bool AIT_GetMenuText  (
 integer nMenu,        // メニューハンドル
 integer nIndex,       // メニュー項目のインデックス
 string strMenuText    // メニュー項目
 [,float fTimeOut]     // タイムアウト時間
);

引数

nMenu（入力用）

メニューハンドルを指定してください。

nIndex（入力用）

メニュー項目のインデックスを指定してください。インデックスの基準値は0です。

strMenuText（出力用）

メニュー項目を受け取る変数を指定してください。関数から制御が戻ると，この変数にメニュー項目が格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1401 | ERROR_INVALID_MENU_HANDLE
1460 | ERROR_TIMEOUT

AIT_GetOSType

機能

OSのメジャーバージョン，マイナーバージョンおよびプラットフォームIDを取得します。

形式

bool AIT_GetOSType  (
 integer nMajorVersion,    // OSのメジャーバージョン
 integer nMinorVersion,    // OSのマイナーバージョン
 integer nPlatformID       // プラットフォームID
);

引数

nMajorVersion（出力用）

OSのメジャーバージョンを受け取る変数を指定してください。関数から制御が戻ると，この変数に次のどれかの値が格納されます。

値 | 意味
4 | Windows 98
4 | Windows Me
4 | Windows NT 4.0
5 | Windows 2000
5 | Windows XP
5 | Windows Server 2003
6 | Windows Vista
6 | Windows Server 2008
6 | Windows 7
6 | Windows Server 2012
6 | Windows 8
6 | Windows Server 2012 R2
6 | Windows 8.1

nMinorVersion（出力用）

OSのマイナーバージョンを受け取る変数を指定してください。関数から制御が戻ると，この変数に次のどれかの値が格納されます。

値 | 意味
10 | Windows 98
90 | Windows Me
0 | Windows NT 4.0
0 | Windows 2000
1 | Windows XP
2 | Windows Server 2003
0 | Windows Vista
0 | Windows Server 2008
1 | Windows Server 2008 R2
1 | Windows 7
2 | Windows Server 2012
2 | Windows 8
3 | Windows Server 2012 R2
3 | Windows 8.1

nPlatformID（出力用）

OSのプラットフォームIDを受け取る変数を指定してください。関数から制御が戻ると，この変数に次のどれかの値が格納されます。

値 | 意味
VER_PLATFORM_WIN32_WINDOWS | Windows MeまたはWindows 98
VER_PLATFORM_WIN32_NT | Windows 8.1，Windows Server 2012 R2，Windows 8，Windows Server 2012，Windows 7，Windows Server 2008，Windows Vista，Windows Server 2003，Windows XP，Windows 2000，またはWindows NT 4.0

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
122 | ERROR_INSUFFICIENT_BUFFER

注意事項

アプリケーションがOSのどのバージョン上で稼働しているのかを確認する場合は，望ましいバージョン番号よりも大きい番号か同じ番号を使用してください。そうすることによって，より新しいバージョンのOSでも同じテストが実施可能であることがわかります。

AIT_GetProfileFirstSection

機能

指定したINIファイルのセクションから，最初のキーとキーの値を取得します。

形式

bool AIT_GetProfileFirstSection  (
 string strIniFileName,     // INIファイル名
 string strSectionName,     // INIファイルのセクション名
 string strValues           // セクションのデータ
);

引数

strIniFileName（入力用）

INIファイル名を指定してください。

strSectionName（入力用）

INIファイルのセクション名を指定してください。

strValues（出力用）

指定したセクションからキーとキーの値を受け取る変数を指定してください。関数から制御が戻ると，この変数にキーとキーの値が格納されます。キーとキーの値の組み合わせは＜key = value＞の形式です。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
21 | ERROR_NOT_READY
38 | ERROR_HANDLE_EOF
53 | ERROR_BAD_NETPATH
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
998 | ERROR_NOACCESS
1005 | ERROR_UNRECOGNIZED_VOLUME
1169 | ERROR_NO_MATCH
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

AIT_GetProfileFirstSectionNames

機能

指定したINIファイルの最初のセクション名を取得します。

形式

bool AIT_GetProfileFirstSectionNames  (
 string strIniFileName,     // INIファイル名
 string strSectionName      // セクション名
);

引数

strIniFileName（入力用）

INIファイル名を指定してください。

strSectionName（出力用）

指定したINIファイルから最初のセクション名を受け取る変数名を指定してください。関数から制御が戻ると，この変数にセクション名が格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
21 | ERROR_NOT_READY
53 | ERROR_BAD_NETPATH
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
998 | ERROR_NOACCESS
1005 | ERROR_UNRECOGNIZED_VOLUME
1169 | ERROR_NO_MATCH
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

AIT_GetProfileNextSection

機能

AIT_GetProfileFirstSection関数で指定したINIファイルのセクションから次のキーとキーの値を取得します。

形式

bool AIT_GetProfileNextSection  (
 string strValues       // セクションのデータ
);

引数

strValues（出力用）

AIT_GetProfileFirstSectionで指定した，セクションの次のキーとキーの値を受け取る変数を指定してください。関数から制御が戻ると，この変数にキーとキーの値が格納されます。キーとキーの値の組み合わせは＜key = value＞の形式です。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。キーが存在しない，セクションが存在しない，または指定したINIファイルが存在しない場合，関数はfalseを返します。

AIT_GetProfileNextSectionNames

機能

AIT_GetProfileFirstSectionNames関数で指定したINIファイルから次のセクション名を取得します。

形式

bool AIT_GetProfileNextSectionNames  (
 string strSectionName       // セクション名
);

引数

strSectionName（出力用）

AIT_GetProfileFirstSectionNamesで指定したINIファイルの次のセクション名を受け取る変数を指定してください。関数から制御が戻ると，この変数にセクション名が格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。キーが存在しない，セクションが存在しない，または指定したINIファイルが存在しない場合，関数はfalseを返します。

AIT_GetProfileString

機能

指定したINIファイルのセクションから，指定したキーの値を取得します。

形式

bool AIT_GetProfileString  (
 string strIniFileName,     // INIファイル名
 string strSectionName,     // セクション名
 string strKeyName,         // キー名
 string strValue            // キーの値
);

引数

strIniFileName（入力用）

INIファイル名を指定してください。

strSectionName（入力用）

INIファイルのセクション名を指定してください。

strKeyName（入力用）

セクション名に属するキー名を指定してください。

strValue（出力用）

キーの値を受け取る変数を指定してください。関数から制御が戻ると，この変数にキーの値が格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
21 | ERROR_NOT_READY
38 | ERROR_HANDLE_EOF
53 | ERROR_BAD_NETPATH
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
998 | ERROR_NOACCESS
1005 | ERROR_UNRECOGNIZED_VOLUME
1169 | ERROR_NO_MATCH
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE

AIT_GetSubMenu

機能

メニューのサブメニューハンドルを取得します。

形式

bool AIT_GetSubMenu  (
 integer nMenu,      // メニューハンドル
 integer nIndex,     // メニュー項目のインデックス
 integer nSubMenu    // サブメニューハンドル
 [,float fTimeOut]   // タイムアウト時間
);

引数

nMenu（入力用）

AIT_GetMenu関数を呼び出して取得したメニューハンドルを指定してください。

nIndex（入力用）

メニュー項目のインデックスを指定してください。インデックスの基準値は0です。

nSubMenu（出力用）

サブメニューハンドルを受け取る変数を指定してください。関数から制御が戻ると，この変数にハンドルが格納されます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1401 | ERROR_INVALID_MENU_HANDLE
1460 | ERROR_TIMEOUT

AIT_GetSubStr

機能

文字列から指定した長さの文字列を返します。

形式

bool AIT_GetSubStr (
 string  strSubString,    // 抽出した文字列
 string  strStrName,      // 文字列
 integer nStartPos        // 抽出を始める文字の位置
 [,integer nLength]       // 文字数
);

引数

strSubString（出力用）

抽出した文字列を受け取る変数を指定してください。関数から制御が戻ると，この変数に文字列が格納されます。

strStrName（入力用）

文字列名を指定してください。

nStartPos（入力用）

抽出を始める文字の位置を指定してください。基準値は0で，0の位置は文字列の最初の文字に対応します。

nLength（入力用，省略可）

抽出する文字数を指定してください。この引数が文字列の文字数を超えないかぎり，nStartPosから指定した文字数の文字列が抽出されます。省略した場合は，文字列の末尾の文字までの長さとなります。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER

AIT_GetTime

機能

システムの時間を取得します。

形式

string AIT_GetTime ();

引数

なし

戻り値

システムの時間を取得します。

AIT_GetWindowText

機能

指定したウィンドウのタイトルを取得します。

形式

bool AIT_GetWindowText  (
 integer nWndHandle,     // ウィンドウハンドル
 string strCaption       // コントロールのキャプション
);

引数

nWndHandle（入力用）

ウィンドウハンドルを指定してください。0が指定されている場合は，アクティブなウィンドウのタイトルを取得します。

strCaption（出力用）

コントロールのキャプションを受け取る変数を指定してください。関数から制御が戻ると，この変数にキャプションが格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_IMEGetConversionStatus

機能

現在のIME変換ステータスを取得します。

形式

bool AIT_IMEGetConversionStatus  (
 integer nWndHandle,     // ウィンドウハンドル
 integer nConvMode,      // 変換モード
 integer nSentenceMode   // 文モード
);

引数

nWndHandle（入力用）

ステータスを取得するウィンドウハンドルを指定してください。

0が指定されている場合は，入力フォーカスを持つウィンドウが使用されます。

nConvMode（出力用）

変換ステータスを受け取る変数を指定してください。関数から制御が戻ると，この変数に次の値の組み合わせが格納されます。

値 | 意味
IME_CMODE_CHARCODE | オンの場合，IMEのモードは文字コード入力モードです。
IME_CMODE_EUDC | オンの場合，IMEのモードはEUDC変換モードです。
IME_CMODE_FULLSHAPE | オンの場合，IMEのモードは全角モードです。オフの場合，半角モードです。
IME_CMODE_HANJACONVERT | オンの場合，IMEのモードはHANJA変換モードです。
IME_CMODE_KATAKANA | オンの場合，かたかなモードです。オフの場合，ひらがなモードです。
IME_CMODE_NATIVE | オンの場合，NATIVEモードです。オフの場合，ALPHANUMERICモードです。
IME_CMODE_NOCONVERSION | オンの場合，IMEは変換を実行しません。IMEを閉じている状態と同じです。
IME_CMODE_ROMAN | オンの場合，IMEのモードはローマ字入力モードです。
IME_CMODE_SOFTKBD | オンの場合，IMEのモードはソフトキーボードモードです。
IME_CMODE_SYMBOL | オンの場合，IMEのモードはSYMBOL変換モードです。

nSentenceMode（出力用）

文字モードを受け取る変数を指定してください。関数から制御が戻ると，この変数に次の値の組み合わせが格納されます。

値 | 意味
IME_SMODE_AUTOMATIC | IMEは自動モードで変換します。
IME_SMODE_NONE | センテンスについての情報はありません。
IME_SMODE_PHRASEPREDICT | IMEはフレーズ情報を利用して次の文字を予測します（連文節）。
IME_SMODE_PLURALCLAUSE | IMEは変換処理する際に複数の文節情報を使用します（複合語優先）。
IME_SMODE_SINGLECONVERT | IMEはシングルモードで変換します。
IME_SMODE_CONVERSATION | IMEは変換モードを使用します。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_IMEGetOpenStatus

機能

IMEが開いているか閉じているかをチェックします。

形式

integer AIT_IMEGetOpenStatus  (
 [integer nWndHandle]     // ウィンドウハンドル
);

引数

nWndHandle（入力用，省略可）

ステータスを取得するウィンドウハンドルを指定してください。

省略した場合は，入力フォーカスを持つウィンドウが使用されます。

戻り値

IMEが開いている場合の戻り値は1，IMEが閉じている場合の戻り値は0となり，処理が失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_IMEGetProperty

機能

入力フォーカスウィンドウと結び付けられたIMEのプロパティまたは機能を取得します。

形式

integer AIT_IMEGetProperty  (
 integer nPropertyInfo     // プロパティ情報
);

引数

nPropertyInfo（入力用）

取得するプロパティ情報を指定してください。

次の値のどれかに該当する必要があります。

値 | 意味
IGP_PROPERTY | プロパティ情報
IGP_CONVERSION | 変換機能
IGP_SENTENCE | センテンスモード機能
IGP_UI | ユーザーインターフェース機能
IGP_SETCOMPSTR | コンポジション文字列機能
IGP_SELECT | 選択継承の機能

戻り値

関数が正常に処理された場合の戻り値はnPropertyInfoの値に応じたプロパティまたは機能の値となり，そのほかの場合の戻り値は-1となります。

nPropertyInfoがIGP_PROPERTYの場合戻り値は次の値の組み合わせになります。

値 | 意味
IME_PROP_AT_CARET | オンの場合，変換ウィンドウはカレットの位置にあります。オフの場合，変換ウィンドウはカレットの近くにあります。
IME_PROP_SPECIAL_UI | オンの場合，IMEは標準的なユーザーインターフェースを持っていません。この場合は，アプリケーションでIMEウィンドウ内を描画しないでください。
IME_PROP_CANDLIST_START_FROM_1 | オンの場合，候補リスト内の文字列は1から順に番号が付いています。オフの場合，文字列は0から順に番号が付いています。
IME_PROP_UNICODE | オンの場合，入力コンテキスト文字列にはUnicode文字が含まれます。オフの場合，文字列には1バイト文字と2バイト文字が含まれます。

nPropertyInfoがIGP_UIの場合，戻り値は次の値の組み合わせになります。

値 | 意味
UI_CAP_2700 | テキストの印字方向として，0または2700の値をサポートします。
UI_CAP_ROT90 | テキストの印字方向として，0，900，1800，または2700の値をサポートします。
UI_CAP_ROTANY | 任意の印字方向をサポートします。

nPropertyInfoがIGP_SETCOMPSTRの場合，戻り値は次の値の組み合わせになります。

値 | 意味
SCS_CAP_COMPSTR | IMESetCompositionStringのSCS_SETSTR値を使用してコンポジション文字列を作成できます。
SCS_CAP_MAKEREAD | IMESetCompositionStringのSCS_SETSTR値を使用すると，対応するコンポジション文字列から読み取り文字列を作成できます。

nPropertyInfoがIGP_SELECTの場合，戻り値は次の値の組み合わせになります。

値 | 意味
SELECT_CAP_CONVERSION | IMEが新たに選択された場合，変換モードを継承します。
SELECT_CAP_SENTENCE | IMEが新たに選択された場合，センテンスモードを継承します。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。

AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER

AIT_IMEGetStatusWindowPos

機能

ステータスウィンドウの位置を取得します。

形式

bool AIT_IMEGetStatusWindowPos  (
 integer nWndHandle,     // ウィンドウハンドル
 integer nX,             // X座標
 integer nY              // Y座標
);

引数

nWndHandle（入力用）

ステータスウィンドウの位置を取得するウィンドウハンドルを指定してください。

0が指定されている場合は，入力フォーカスを持つウィンドウハンドルが使用されます。

nX（出力用）

ステータスウィンドウのX座標を受け取る変数を指定してください。関数から制御が戻ると，この変数にX座標が格納されます。

nY（出力用）

ステータスウィンドウのY座標を受け取る変数指定してください。関数から制御が戻ると，この変数にY座標が格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_IMESetConversionStatus

機能

現在の変換ステータスを設定します。

形式

bool AIT_IMESetConversionStatus  (
 integer nWndHandle,     // ウィンドウハンドル
 integer nConvMode,      // 変換モード
 integer nSentenceMode   // 文モード
);

引数

nWndHandle（入力用）

ステータスを設定するウィンドウハンドルを指定してください。

0が指定されている場合は，入力フォーカスを持つウィンドウハンドルが使用されます。

nConvMode（入力用）

変換モードの組み合わせを指定してください。

ビット値については，「AIT_IMEGetConversionStatus」を参照してください。

nSentenceMode（入力用）

文モードを指定してください。

ビット値については，「AIT_IMEGetConversionStatus」を参照してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_IMESetOpenStatus

機能

IMEを開いたり，閉じたりします。

形式

bool AIT_IMESetOpenStatus  (
 integer nWndHandle,     // ウィンドウハンドル
 bool bCondition         // 条件
);

引数

nWndHandle（入力用）

ステータスを設定するウィンドウハンドルを指定してください。

0が指定されている場合は，入力フォーカスを持つウィンドウハンドルが使用されます。

bCondition（入力用）

IMEを開くか閉じるかを指定してください。trueの場合IMEを開き，falseの場合IMEを閉じます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_IMESetStatusWindowPos

機能

ステータスウィンドウの位置を設定します。

形式

bool AIT_IMESetStatusWindowPos  (
 integer nWndHandle,     // ウィンドウハンドル
 integer nX,             // X座標
 integer nY              // Y座標
);

引数

nWndHandle（入力用）

位置を設定するウィンドウハンドルを指定してください。

0が指定されている場合は，入力フォーカスされているウィンドウハンドルが使用されます。

nX（入力用）

ステータスウィンドウのX座標を指定してください。

nY（入力用）

ステータスウィンドウのY座標を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_IMESimulateHotKey

機能

指定したIMEホットキーをシミュレートします。

形式

bool AIT_IMESimulateHotKey  (
 integer nWndHandle,     // ウィンドウハンドル
 integer nHotKeyId       // ホットキー識別子
);

引数

nWndHandle（入力用）

ウィンドウハンドルを指定してください。

nHotKeyId（入力用）

IMEホットキーの識別子を指定してください。

次の値のどれかに該当する必要があります。

値 | 意味
IME_CHOTKEY_IME_NONIME_TOGGLE | このホットキーは中国語（簡体字）版で使用します。IMEオペレーションと非IMEオペレーションとを切り替えます。
IME_CHOTKEY_SHAPE_TOGGLE | このホットキーは中国語（簡体字）版で使用します。IMEのシェイプ変換モードを切り替えます。
IME_CHOTKEY_SYMBOL_TOGGLE | このホットキーは中国語（簡体字）版で使用します。IMEのシェイプ変換モードを切り替えます。シンボルモードで中国語の句読法とシンボル（完全な全角文字）を入力できるようにするには，それらをキーボードに割り当てます。
IME_JHOTKEY_CLOSE_OPEN | このホットキーは日本語で使用し，IMEを開いたり閉じたりします。
IME_KHOTKEY_ENGLISH | このホットキーは韓国語で使用し，英語へ切り替えます。
IME_KHOTKEY_SHAPE_TOGGLE | このホットキーは韓国語で使用し，IMEのシェイプ変換モードを切り替えます。
IME_KHOTKEY_HANJACONVERT | このホットキーは韓国語で使用し，漢字（Hanja）変換へ切り替えます。
IME_THOTKEY_IME_NONIME_TOGGLE | このホットキーは中国語（繁体字）版で使用し，IMEオペレーションと非IME オペレーションを切り替えます。
IME_THOTKEY_SHAPE_TOGGLE | このホットキーは中国語（繁体字）版で使用し，IMEのシェイプ変換モードを切り替えます。
IME_THOTKEY_SYMBOL_TOGGLE | このホットキーは中国語（繁体字）版で使用し，IMEのシンボル変換モードを切り替えます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_InitLog

機能

AIT_LogMessage関数が使用するRecDFile.logファイルを初期化します。AIT_LogMessage関数を実行する前には必ずこの関数を実行してください。RecDFile.logファイルは，次のレジストリキー値で指定したLOGディレクトリのパスに存在します。

OSが32ビット版の場合
HKEY_LOCAL_MACHINE¥SOFTWARE¥HITACHI¥NETM/DM/P¥PathName

OSが64ビット版の場合
HKEY_LOCAL_MACHINE¥SOFTWARE¥Wow6432Node¥Hitachi¥NETM/DM/P¥PathName

形式

bool AIT_InitLog  (
 string strMessage     // メッセージ文字列
);

引数

strMessage（入力用）

ログファイルに書き込む文字列メッセージを指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
3 | ERROR_PATH_NOT_FOUND
4 | ERROR_TOO_MANY_OPEN_FILES
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
19 | ERROR_WRITE_PROTECT
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
53 | ERROR_BAD_NETPATH
82 | ERROR_CANNOT_MAKE
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
183 | ERROR_ALREADY_EXISTS
206 | ERROR_FILENAME_EXCED_RANGE
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

注意事項

この関数を実行すると，以前のRecDFile.logはRec1File.logに変更され，五つまで履歴として保存されます。

この関数はメッセージとともに現在の日付と時間を記録します。

AIT_IsEmpty

機能

入力した文字列が空か，空でないかを確認します。

形式

bool AIT_IsEmpty (
 string strStrName     // 文字列名
);

引数

strStrName（入力用）

文字列名を指定してください。

戻り値

文字列が空の場合trueを返し，そのほかの場合はfalseを返します。

AIT_LogMessage

機能

AIT_InitLog関数によって開かれたRecDFile.logファイルにメッセージを記録します。

形式

bool AIT_LogMessage  (
 string strMessage     // メッセージ文字列
);

引数

strMessage（入力用）

ログファイルに書き込む文字列メッセージを指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
3 | ERROR_PATH_NOT_FOUND
4 | ERROR_TOO_MANY_OPEN_FILES
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
19 | ERROR_WRITE_PROTECT
32 | ERROR_SHARING_VIOLATION
33 | ERROR_LOCK_VIOLATION
53 | ERROR_BAD_NETPATH
82 | ERROR_CANNOT_MAKE
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
161 | ERROR_BAD_PATHNAME
183 | ERROR_ALREADY_EXISTS
206 | ERROR_FILENAME_EXCED_RANGE
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME
1231 | ERROR_NETWORK_UNREACHABLE
1392 | ERROR_FILE_CORRUPT

注意事項

この関数はメッセージとともに現在の日付と時間を記録します。

AIT_MenuItemClick

機能

指定したメニュー項目をクリックします。

形式

bool AIT_MenuItemClick  (
 integer nWndHandle,    // ウィンドウハンドル
 integer nMenu,         // メニューハンドル
 integer nIndex         // メニュー項目のインデックス
 [,float fTimeOut]      // タイムアウト時間
);

引数

nWndHandle（入力用）

ウィンドウハンドルを指定してください。

nMenu（入力用）

メニューハンドルを指定してください。

nIndex（入力用）

メニュー項目のインデックスを指定してください。インデックスの基準値は0です。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の設定値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1401 | ERROR_INVALID_MENU_HANDLE
1460 | ERROR_TIMEOUT

AIT_MessageBox

機能

指定したメッセージをダイアログボックスに表示し，ユーザがどれかのボタンをクリックするまで待機し，ユーザが選択したボタンを示す値を返します。

形式

integer AIT_MessageBox  (
 string strMessage,       // メッセージ
 string strTitle          // タイトル
 [,integer nIconType]     // アイコンタイプ
 [,integer nMsgBoxType]   // メッセージボックスタイプ
);

引数

strMessage（入力用）

メッセージボックスに表示するメッセージを指定してください。

strTitle（入力用）

メッセージボックスのタイトルを指定してください。

nIconType（入力用，省略可）

表示するアイコンタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
MB_ICONEXCLAMATION | メッセージボックスに「!」（感嘆符）のアイコンが表示されます。
MB_ICONINFORMATION | メッセージボックスに，丸の中に「i」があるアイコンが表示されます。
MB_ICONQUESTION | メッセージボックスに「?」（疑問符）のアイコンが表示されます。
MB_ICONSTOP | メッセージボックスに停止標識のアイコンが表示されます。

省略した場合は，MB_ICONEXCLAMATIONがアイコンタイプになります。

nMsgBoxType（入力用，省略可）

メッセージボックスタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
MB_ABORTRETRYIGNORE | ［中止］，［再試行］，および［無視］ボタンがあるメッセージボックス
MB_OK | ［OK］ボタンだけがあるメッセージボックス
MB_OKCANCEL | ［OK］および［キャンセル］ボタンがあるメッセージボックス
MB_RETRYCANCEL | ［再試行］および［キャンセル］ボタンがあるメッセージボックス
MB_YESNO | ［はい］および［いいえ］ボタンがあるメッセージボックス
MB_YESNOCANCEL | ［はい］，［いいえ］，および［キャンセル］ボタンがあるメッセージボックス

省略した場合は，MB_OKがメッセージボックスタイプに指定されます。

戻り値

ユーザが選択したボタンを表す値を返します。次のどれかの値になります。

値 | 意味
IDABORT | ［中止］ボタンが選択されました。
IDCANCEL | ［キャンセル］ボタンが選択されました。
IDIGNORE | ［無視］ボタンが選択されました。
IDNO | ［いいえ］ボタンが選択されました。
IDOK | ［OK］ボタンが選択されました。
IDRETRY | ［再試行］ボタンが選択されました。
IDYES | ［はい］ボタンが選択されました。

上記以外の値が返った場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER

AIT_MinWnd

機能

指定したウィンドウを最小化し，次の最上位のウィンドウがアクティブになります。

形式

bool AIT_MinWnd  (
 integer nWndHandle     // ウィンドウハンドル
);
bool AIT_MinWnd  (
 string strCaption,     // コントロールのキャプション
 string strClassName    // クラス名
);

引数

nWndHandle（入力用）

ウィンドウハンドルを指定してください。

strCaption（入力用）

コントロールのキャプションを指定してください。

strClassName（入力用）

ウィンドウのクラス名を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_MouseClick

機能

指定した座標でマウスをクリックします。

形式

bool AIT_MouseClick  (
 integer nMouseButton,     // マウスボタン
 integer nX,               // X座標
 integer nY                // Y座標
);

引数

nMouseButton（入力用）

クリックするマウスボタンを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTOM | 中央マウスボタン
RBUTTON | 右マウスボタン

nX（入力用）

クリックする位置のX座標を指定してください。

nY（入力用）

クリックする位置のY座標を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL

AIT_MouseDblClk

機能

指定した座標でマウスをダブルクリックします。

形式

bool AIT_MouseDblClk  (
 integer nX,             // X座標
 integer nY,             // Y座標
 integer nButton,        // マウスボタン
 integer nKeyState       // キー状態
);

引数

nX（入力用）

ダブルクリックする位置のX座標を指定してください。

nY（入力用）

ダブルクリックする位置のY座標を指定してください。

nButton（入力用）

ダブルクリックするマウスボタンを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTON | 中央マウスボタン
RBUTTON | 右マウスボタン

nKeyState（入力用）

キー状態を指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
SHIFT_ON | ［Shift］キーはオン状態
ALT_ON | ［Alt］キーはオン状態
CTRL_ON | ［Ctrl］キーはオン状態
SHIFT_OFF | ［Shift］キーはオフ状態
ALT_OFF | ［Alt］キーはオフ状態
CTRL_OFF | ［Ctrl］キーはオフ状態

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL

AIT_MouseDown

機能

指定した座標でマウスのボタンを押します。

形式

bool AIT_MouseDown  (
 integer nX,              // X座標
 integer nY,              // Y座標
 integer nButton,         // マウスボタン
 integer nKeyState        // キー状態
);

引数

nX（入力用）

マウスボタンを押す位置のX座標を指定してください。

nY（入力用）

マウスボタンを押す位置のY座標を指定してください。

nButton（入力用）

マウスで押すボタンを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTON | 中央マウスボタン
RBUTTON | 右マウスボタン

nKeyState（入力用）

キー状態を指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
SHIFT_ON | ［Shift］キーはオン状態
ALT_ON | ［Alt］キーはオン状態
CTRL_ON | ［Ctrl］キーはオン状態
SHIFT_OFF | ［Shift］キーはオフ状態
ALT_OFF | ［Alt］キーはオフ状態
CTRL_OFF | ［Ctrl］キーはオフ状態

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL

AIT_MouseDragDrop

機能

指定した開始位置から終了位置までをドラッグアンドドロップします。

形式

bool AIT_MouseDragDrop  (
 integer nXStartPos,       // 開始X座標
 integer nYStartPos,       // 開始Y座標
 integer nXEndPos,         // 終了X座標
 integer nYEndPos,         // 終了Y座標
 integer nButton,          // マウスボタン
 integer nKeyState         // キー状態
);

引数

nXStartPos（入力用）

ドラッグを開始する位置のX座標を指定してください。

nYStartPos（入力用）

ドラッグを開始する位置のY座標を指定してください。

nXEndPos（入力用）

ドロップする位置のX座標を指定してください。

nYEndPos（入力用）

ドロップする位置のY座標を指定してください。

nButton（入力用）

ドラッグアンドドロップするマウスボタンを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTON | 中央マウスボタン
RBUTTON | 右マウスボタン

nKeyState（入力用）

キー状態を指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
SHIFT_ON | ［Shift］キーはオン状態
ALT_ON | ［Alt］キーはオン状態
CTRL_ON | ［Ctrl］キーはオン状態
SHIFT_OFF | ［Shift］キーはオフ状態
ALT_OFF | ［Alt］キーはオフ状態
CTRL_OFF | ［Ctrl］キーはオフ状態

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL

AIT_MouseMoveTo

機能

指定した座標へマウスを移動します。

形式

bool AIT_MouseMoveTo  (
 integer nX,             // X座標
 integer nY,             // Y座標
 integer nButton,        // マウスボタン
 integer nKeyState       // キー状態
);

引数

nX（入力用）

マウスを移動する位置のX座標を指定してください。

nY（入力用）

マウスを移動する位置のY座標を指定してください。

nButton（入力用）

移動中にクリックするマウスボタンを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTON | 中央マウスボタン
RBUTTON | 右マウスボタン

nKeyState（入力用）

キー状態を指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
SHIFT_ON | ［Shift］キーはオン状態
ALT_ON | ［Alt］キーはオン状態
CTRL_ON | ［Ctrl］キーはオン状態
SHIFT_OFF | ［Shift］キーはオフ状態
ALT_OFF | ［Alt］キーはオフ状態
CTRL_OFF | ［Ctrl］キーはオフ状態

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL

AIT_MouseUp

機能

指定した座標でマウスのボタンを離します。

形式

bool AIT_MouseUp  (
 integer nX,          // X座標
 integer nY,          // Y座標
 integer nButton,     // マウスボタン
 integer nKeyState    // キー状態
);

引数

nX（入力用）

マウスボタンを離す位置のX座標を指定してください。

nY（入力用）

マウスボタンを離す位置のY座標を指定してください。

nButton（入力用）

マウスで離すボタンを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTON | 中央マウスボタン
RBUTTON | 右マウスボタン

nKeyState（入力用）

キー状態を指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
SHIFT_ON | ［Shift］キーはオン状態
ALT_ON | ［Alt］キーはオン状態
CTRL_ON | ［Ctrl］キーはオン状態
SHIFT_OFF | ［Shift］キーはオフ状態
ALT_OFF | ［Alt］キーはオフ状態
CTRL_OFF | ［Ctrl］キーはオフ状態

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL

AIT_PlayKey

機能

ユーザがキー入力した場合と同じように，アクティブなウィンドウへキーボード入力情報を送信します。

形式

bool AIT_PlayKey  (
 string strKeys     // 文字列
);

引数

strKeys（入力用）

キーやキーの組み合わせ文字列，または文字列を指定してください。次のどれかを組み合わせて指定できます。

aからzまでのすべての大文字と小文字

0から9までのすべての数字

次の半角記号
「~」「!」「@」「#」「$」「%」「^」「&」「*」「(」「)」「_」「+」「|」「?」「>」「<」「"」「}」「{」「[」「]」「'」「;」「/」「.」「,」「`」「-」「=」「¥」

例

AIT_PlayKey("ABC")は，ABCという文字列を打つ処理をシミュレートします。

次に示すのは指定が可能な特殊キーです。

指定可能な特殊キー
{ALT} | {ALT_LOCK} | {ALT_UNLOCK} | {ALT+SHIFT} | {APPS} | {BACKSPACE} | {CTRL}
{CTRL+ALT} | {CTRL+SHIFT} | {CTRL+ALT+SHIFT} | {CTRL_LOCK} | {CAPSLOCK} | {CAPSLOCK_ON} | {CAPSLOCK_OFF}
{CTRL_UNLOCK} | {DELETE} | {DOWN} | {END} | {ENTER} | {ESC} | {F1}
{F2} | {F3} | {F4} | {F5} | {F6} | {F7} | {F8}
{F9} | {F10} | {F11} | {F12} | {HOME} | {INS} | {KANA_ON}
{KANA_OFF} | {KANJI_ON} | {KANJI_OFF} | {LEFT} | {LWIN} | {LWIN_LOCK} | {LWIN_UNLOCK}
{NUMLOCK_ON} | {NUMLOCK_OFF} | {NUMLOCK} | {NUMPAD0} | {NUMPAD1} | {NUMPAD2} | {NUMPAD3}
{NUMPAD4} | {NUMPAD5} | {NUMPAD6} | {NUMPAD7} | {NUMPAD8} | {NUMPAD9} | {PAUSE}
{PGDOWN} | {PGUP} | {PRNSCR} | {PROCESS} | {RIGHT} | {RWIN} | {RWIN_LOCK}
{RWIN_UNLOCK} | {SCROLLLOCK} | {SCROLLLOCK_ON} | {SCROLLLOCK_OFF} | {SHIFT} | {SHIFT_LOCK} | {SHIFT_UNLOCK}
{SPACE} | {TAB} | {UP} | － | － | － | －

（凡例）－：値なし

例

AIT_PlayKey("{TAB}")は［Tab］キーを押す処理をシミュレートします。

［Shift］，［Ctrl］,または［Alt］キーと組み合わせたキーを指定する場合は，通常のキーテキストの前に次のキー操作コードを付け加えてください。

キー | キー操作コード
Shift | +
Ctrl | ^
Alt | %

例

AIT_PlayKey("%(N)")は［Alt］+［N］キーを押すことを表します。

同じ順番でキーを繰り返す場合は，次のように表記してください。

{REPEAT n}<char to repeat>{END_REPEAT}

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER

AIT_PostMessage

機能

指定したウィンドウを作成したスレッドに関連づけられているメッセージキューにメッセージをポストします。対応するスレッドがメッセージを処理するのを待つことなく制御を返します。

形式

bool AIT_PostMessage  (
 integer nWndHandle,     // ウィンドウハンドル
 integer nMessage,       // メッセージ
 integer nWParam,        // メッセージの最初の引数
 integer nLParam         // メッセージの2番目の引数
);

引数

nWndHandle（入力用）

ポスト先のウィンドウハンドルを指定してください。

次の値は特別な意味を持ちます。

値 | 意味
HWND_BROADCAST | システム内のすべてのトップレベルウィンドウへメッセージをポストします。無効になっている所有されていないウィンドウ，不可視の所有されていないウィンドウ，オーバーラップされた（手前にほかのウィンドウがあって覆い隠されている）ウィンドウ，ポップアップウィンドウもポスト先になります。子ウィンドウへはメッセージをポストしません。

nMessage（入力用）

ポストするメッセージを指定してください。

nWParam（入力用）

メッセージ特有の追加情報を指定してください。

nLParam（入力用）

メッセージ特有の追加情報を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER

AIT_RegCloseKey

機能

指定したレジストリキーのハンドルを閉じます。

形式

bool AIT_RegCloseKey(
 integer nHKeyHandle     // キーハンドル
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーを指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1019 | ERROR_NO_LOG_SPACE

AIT_RegCreateKey

機能

指定したレジストリキーを作成します。すでに存在している場合はそのキーを開きます。

形式

bool AIT_RegCreateKey(
 integer nHKeyHandle,       // キーハンドル
 string strRegKeyName,      // 作成するキー名
 integer nOutputHkeyHandle  // 出力用のキーハンドル
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーのハンドルまたは次のどれかを指定してください。

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

strRegKeyName（入力用）

作成または開くレジストリキー名を指定してください。

nOutputHkeyHandle（出力用）

レジストリキーのハンドルを受け取る変数を指定してください。関数から制御が戻ると，この変数にハンドルが格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1019 | ERROR_NO_LOG_SPACE

注意事項

終了時にAIT_RegCloseKeyを呼び出してnOutputHkeyHandleを閉じてください。

レジストリキーを作成するには，作成位置へ書き込みできる権限が必要です。

すでに存在しているレジストリキーを開く場合，そのレジストリキーに書き込みできる権限がないときは，読み込み権限で開きます。

AIT_RegDeleteKey

機能

指定したレジストリのサブキーを削除します。

形式

bool AIT_RegDeleteKey(
 integer nHKeyHandle,     // キーハンドル
 string strRegKeyName     // 削除するキー名
);

引数

nHKeyHandle（入力用）

すでに開かれたレジストリキーのハンドルを指定してください。

strRegKeyName（入力用）

削除するレジストリのサブキー名を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
5 | ERROR_ACCESS_DENIED
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1019 | ERROR_NO_LOG_SPACE

注意事項

クライアントのOSがWindows NTの場合，指定したキーにサブキーがあるときは，指定したキーを削除できません。あらかじめサブキーを削除しておいてください。Windows MeまたはWindows 98の場合は，サブキーを含めて指定したキーを削除できます。

AIT_RegDeleteValue

機能

指定したレジストリ値を削除します。

形式

bool AIT_RegDeleteValue(
 integer nHKeyHandle,     // キーハンドル
 string strRegValueName   // レジストリ値名
);

引数

nHKeyHandle（入力用）

すでに開かれたレジストリキーのハンドルを指定してください。

strRegValueName（入力用）

削除するレジストリ値名を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1019 | ERROR_NO_LOG_SPACE

AIT_RegGetDWORDValue

機能

DWORDのデータ型のレジストリ値を取得します。

形式

bool AIT_RegGetDWORDValue(
 integer nHKeyHandle,      // キーハンドル
 string strRegKeyName,     // レジストリサブキー名
 string strRegValueName,   // レジストリ値名
 integer nRegValueData     // レジストリ値データ
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーのハンドルまたは次のどれかを指定してください。

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

strRegKeyName（入力用）

レジストリのサブキー名を指定してください。

strRegValueName（入力用）

取得するレジストリ値名を指定してください。

nRegValueData（出力用）

DWORDのデータ型のレジストリ値データを受け取る変数を指定してください。関数から制御が戻ると，この変数にレジストリ値データが格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
234 | ERROR_MORE_DATA
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1011 | ERROR_CANTOPEN
1012 | ERROR_CANTREAD
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1018 | ERROR_KEY_DELETED
1019 | ERROR_NO_LOG_SPACE
1069 | ERROR_NO_MATCH

AIT_RegGetStringValue

機能

文字列のデータ型（REG_SZ，REG_EXPAND_SZ，REG_MULTI_SZ）のレジストリ値を取得します。

形式

bool AIT_RegGetStringValue(
 integer nHKeyHandle,      // キーハンドル
 string strRegKeyName,     // レジストリサブキー名
 string strRegValueName,   // レジストリ値名
 string strRegValueData    // レジストリ値データ
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーのハンドルまたは次のどれかを指定してください。

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

strRegKeyName（入力用）

レジストリのサブキー名を指定してください。

strRegValueName（入力用）

取得するレジストリ値名を指定してください。

strRegValueData（出力用）

文字列のデータ型のレジストリ値データを受け取る変数を指定してください。関数から制御が戻ると，この変数のレジストリ値データが格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
234 | ERROR_MORE_DATA
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1011 | ERROR_CANTOPEN
1012 | ERROR_CANTREAD
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1018 | ERROR_KEY_DELETED
1019 | ERROR_NO_LOG_SPACE
1169 | ERROR_NO_MATCH

AIT_RegisterWindowMessage

機能

システム上で固有となる新たなウィンドウメッセージを定義します。メッセージの送信またはポストをする際に，このメッセージ値を利用できます。

通常この関数は二つの協調アプリケーション間の通信に使うメッセージを登録する目的で使います。

形式

integer AIT_RegisterWindowMessage  (
 string strMessageString     // メッセージ文字列
);

引数

strMessageString（入力用）

登録するメッセージを指定してください。

戻り値

メッセージが正常に登録された場合，戻り値は49152～65535のメッセージ値（メッセージ識別子）になります。

関数の処理が失敗した場合の戻り値は0となります。AIT_GetLastErrorを使用して拡張エラーコードを取得できます。

AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER

AIT_RegKeyExists

機能

指定したレジストリキーが存在するかを確認します。

形式

integer AIT_RegKeyExists(
 integer nHKeyHandle,       // キーハンドル
 string strRegKeyName       // レジストリサブキー名
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーのハンドルを指定してください。

strRegKeyName（入力用）

存在を確認するレジストリのサブキー名を指定してください。

戻り値

このキーが存在する場合の戻り値は1，このキーが存在しない場合は0となり，処理が失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1011 | ERROR_CANTOPEN
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1019 | ERROR_NO_LOG_SPACE

AIT_RegOpenKey

機能

指定したレジストリキーを開きます。

形式

bool AIT_RegOpenKey(
 integer nHKeyHandle,       // キーハンドル
 string strRegKeyName,      // 開かれるキー名
 integer nOutputHkeyHandle  // 出力用のキーハンドル
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーのハンドルまたは次のどれかを指定してください。

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

strRegKeyName（入力用）

開くレジストリのサブキー名を指定してください。

nOutputHkeyHandle（出力用）

レジストリキーのハンドルを受け取る変数を指定してください。関数から制御が戻ると，この変数にハンドルが格納されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1011 | ERROR_CANTOPEN
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1018 | ERROR_KEY_DELETED
1019 | ERROR_NO_LOG_SPACE

注意事項

終了時にAIT_RegCloseKeyを呼び出してnOutputHkeyHandleを閉じてください。

レジストリキーを開く場合，そのレジストリキーに書き込みできる権限がないときは，読み込み権限で開きます。

AIT_RegSetDWORDValue

機能

DWORDのデータ型のレジストリ値にデータを設定します。

形式

bool AIT_RegSetDWORDValue(
 integer nHKeyHandle,      // キーハンドル
 string strRegKeyName,     // レジストリサブキー名
 string strRegValueName,   // レジストリ値名
 integer nRegValueData     // レジストリ値データ
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーのハンドルまたは次のどれかを指定してください。

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

strRegKeyName（入力用）

レジストリのサブキー名を指定してください。

strRegValueName（入力用）

設定するレジストリ値名を指定してください。

nRegValueData（入力用）

DWORDのデータ型のレジストリ値に設定するデータを指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
234 | ERROR_MORE_DATA
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1011 | ERROR_CANTOPEN
1013 | ERROR_CANTWRITE
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1018 | ERROR_KEY_DELETED
1019 | ERROR_NO_LOG_SPACE
1169 | ERROR_NO_MATCH

AIT_RegSetStringValue

機能

文字列のデータ型（REG_SZ，REG_EXPAND_SZ，REG_MULTI_SZ）のレジストリ値にデータを設定します。

形式

bool AIT_RegSetStringValue(
 integer nHKeyHandle,      // キーハンドル
 string strRegKeyName,     // レジストリサブキー名
 string strRegValueName,   // レジストリ値名
 string strRegValueData    // レジストリ値データ
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーのハンドルまたは次のどれかを指定してください。

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

strRegKeyName（入力用）

レジストリのサブキー名を指定してください。

strRegValueName（入力用）

設定するレジストリ値名を指定してください。

strRegValueData（入力用）

文字列のデータ型のレジストリ値に設定するデータを指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
234 | ERROR_MORE_DATA
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1011 | ERROR_CANTOPEN
1013 | ERROR_CANTWRITE
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1018 | ERROR_KEY_DELETED
1019 | ERROR_NO_LOG_SPACE
1169 | ERROR_NO_MATCH

注意事項

新規にレジストリを作成する場合，文字列のデータ型はREG_SZになります。データ型は変更できません。

既存のレジストリ値を更新する場合，APIを実行してもデータ型は変更されません。

AIT_RegValueExists

機能

指定したレジストリ値が存在するかを確認します。

形式

integer AIT_RegValueExists(
 integer nHKeyHandle,     // キーハンドル
 string strRegValueName   // レジストリ値名
);

引数

nHKeyHandle（入力用）

すでに開かれているレジストリキーのハンドルを指定してください。

strRegValueName（入力用）

存在を確認するレジストリ値名を指定してください。

戻り値

この値が存在する場合の戻り値は1，この値が存在しない場合の戻り値は0となり，処理が失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
6 | ERROR_INVALID_HANDLE
87 | ERROR_INVALID_PARAMETER
236 | ERROR_MORE_DATA
1009 | ERROR_BADDB
1010 | ERROR_BADKEY
1011 | ERROR_CANTOPEN
1015 | ERROR_REGISTRY_CORRUPT
1016 | ERROR_REGISTRY_IO_FAILED
1019 | ERROR_NO_LOG_SPACE

AIT_SelectIPAddressField

機能

アクティブなウィンドウのIPアドレスコントロール内のテキストを選択します。

形式

bool AIT_SelectIPAddressField  (
 string strCaption,       // コントロールのキャプション
 integer nFieldIndex,     //フィールドのインデックス
 integer nStartSel,       // テキストの開始位置
 integer nEndSel          // テキストの数
 [,float fTimeOut]        // タイムアウト時間
);
bool AIT_SelectIPAddressField  (
 integer nCtrlID,         // コントロールID
 integer nFieldIndex,     // フィールドのインデックス
 integer nStartSel,       // テキストの開始位置
 integer nEndSel          // テキストの数
 [,float fTimeOut]        // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nFieldIndex（入力用）

IPアドレスコントロール内のフィールドのインデックスを指定してください。インデックスの基準値は0です。

nStartSel（入力用）

テキストを選択する開始文字位置を指定してください。nStartSelの基準値は0で0の位置はテキストの最初の文字に対応します。

nEndSel（入力用）

選択するテキストの数を指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

開始値が終了値より大きくてもかまいません。二つの値の小さい方が選択テキストの最初の文字位置を指定します。大きい方の値は選択テキストを超えた最初の文字位置を指定します。

開始値は選択テキストの固定点となり，終了値は変動する終点になります。

開始が0で終点が-1の場合，エディットコントロール内のすべてのテキストが選択されます。開始が-1の場合，アクティブな選択は解除されます。

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SelectListItem

機能

アクティブなウィンドウの特定のコントロールで指定した項目を選択します。

形式

bool AIT_SelectListItem  (
 string strCaption,    // コントロールのキャプション
 integer nCtrlType,    // コントロールタイプ
 string strItemText    // 選択される項目テキスト
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_SelectListItem  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 string strItemText    // 選択される項目テキスト
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
LIST_CTRL | コントロールタイプはリストコントロールです。

strItemText（入力用）

特定のコントロール上で選択するテキストを指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の設定値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

AIT_SelectListItem関数は複数選択可能なコントロールでは使用しないでください。

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SelectMultipleListItem

機能

アクティブなウィンドウの特定の複数選択コントロールで指定した項目を選択します。

形式

bool AIT_SelectMultipleListItem  (
 string strCaption,    // コントロールのキャプション
 integer nCtrlType,    // コントロールタイプ
 string strItemText    // 選択される項目テキスト
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_SelectMultipleListItem  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 string strItemText    // 選択される項目テキスト
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
LISTBOX_CTRL | コントロールタイプはリストボックスです。
LIST_CTRL | コントロールタイプはリストコントロールです。

strItemText（入力用）

特定の複数選択コントロールで選択するテキストを指定してください。複数指定する場合はコンマで区切った値で指定できます。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，AIT_SetDefaultWaitTimeout関数の設定値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

AIT_SelectMultipleListItem関数は複数選択可能なコントロールだけで使用してください。

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SelectText

機能

アクティブなウィンドウのエディットコントロールでテキストを選択します。

形式

bool AIT_SelectText  (
 string strCaption,   // コントロールのキャプション
 integer nStartPos,   // コントロールの開始位置
 integer nEndPos      // コントロールの終了位置
 [,float fTimeOut]    // タイムアウト時間
);
bool AIT_SelectText  (
 integer nCtrlID,     // コントロールID
 integer nStartPos,   // コントロールの開始位置
 integer nEndPos      // コントロールの終了位置
 [,float fTimeOut]    // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nStartPos（入力用）

テキストを選択する開始文字位置を指定してください。nStartPosの基準値は0で，0の位置はテキストの最初の文字に対応します。

nEndPos（入力用）

テキストを選択する終了文字位置を指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

開始値が終了値より大きくてもかまいません。二つの値の小さい方が選択テキストの最初の文字位置を指定します。大きい方の値は選択テキストを超えた最初の文字位置を指定します。

開始値は選択テキストの固定点となり，終了値は変動する終点になります。

開始が0で終点が-1の場合，エディットコントロール内のすべてのテキストが選択されます。開始が-1の場合，アクティブな選択は解除されます。

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SetActWnd

機能

指定したウィンドウをアクティブにします。

形式

bool AIT_SetActWnd  (
 integer nWndHandle     // ウィンドウハンドル
);

引数

nWndHandle（入力用）

ウィンドウのハンドルを指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_SetCheck

機能

アクティブなウィンドウの特定のコントロールをオン，オフおよび，不確定状態にします。

形式

bool AIT_SetCheck  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType      // コントロールタイプ
 [,integer nCondition]  // チェックタイプ
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_SetCheck  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType      // コントロールタイプ
 [,integer nCondition]  // チェック状態のタイプ
 [,float fTimeOut]      // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールのIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
CHECKBOX_CTRL | コントロールタイプがチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプがオプションボタンです。

nCondition（入力用，省略可）

チェック状態のタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
0 | オフにした状態
1 | オンにした状態
2 | 不確定またはグレー表示された状態

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SetComboEditSelText

機能

アクティブなウィンドウのコンボボックスでテキスト選択を設定します。

形式

bool AIT_SetComboEditSelText  (
 string strCaption,    // コントロールのキャプション
 integer nStartSel,    // コントロールの開始位置
 integer nEndSel       // コントロールの終了位置
 [,float fTimeOut]     // タイムアウト時間
);
bool AIT_SetComboEditSelText  (
 integer nCtrlID,      // コントロールのキャプション
 integer nStartSel,    // コントロールの開始位置
 integer nEndSel       // コントロールの終了位置
 [,float fTimeOut]     // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nStartSel（入力用）

エディットコントロール内のテキストを選択する開始位置を指定してください。nStartSelの基準値は0です。

nEndSel（入力用）

エディットコントロール内のテキストを選択する終了位置を指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

この関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseとなります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

開始値が終了値より大きくてもかまいません。二つの値の小さい方が選択テキストの最初の文字位置を指定します。大きい方の値は，選択テキストを超えた最初の文字位置を指定します。

開始値は選択テキストの固定点となり，終了値は変動する終点になります。ユーザが［Shift］キーを使用して選択テキストのサイズを調整すると，開始が0で終点が-1の場合，エディットコントロール内のすべてのテキストが選択されます。開始が-1の場合，アクティブな選択は解除されます。

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SetCurrentDirectory

機能

現在のディレクトリを，カレントディレクトリに変更します。

形式

bool AIT_SetCurrentDirectory  (
 string strDirName    // ディレクトリ名
);

引数

strDirName（入力用）

ディレクトリ名を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
21 | ERROR_NOT_READY
53 | ERROR_BAD_NETPATH
123 | ERROR_INVALID_NAME
161 | ERROR_BAD_PATHNAME
1005 | ERROR_UNRECOGNIZED_VOLUME
1210 | ERROR_INVALID_COMPUTERNAME
1214 | ERROR_INVALID_NETNAME

AIT_SetDefaultWaitTimeout

機能

コントロール関連のAPIで使うデフォルトのタイムアウト時間を設定します。

形式

AIT_SetDefaultWaitTimeout  (
 float fTimeOut      // タイムアウト値（秒）
);

引数

fTimeOut（入力用）

デフォルトのタイムアウト値を秒単位で指定してください。この関数を省略した場合はタイムアウト時間が5秒となります。

戻り値

なし

AIT_SetDtPickerDate

機能

日時ピッカーに日付を設定します。

形式

bool AIT_SetDtPickerDate  (
 string strCaption,     // コントロールのキャプション
 integer nYear,         // 年
 integer nMonth,        // 月
 integer nDay           // 日
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_SetDtPickerDate  (
 string strCaption,     // コントロールのキャプション
 string strInputDate    // 日付
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_SetDtPickerDate  (
 integer nCtrlID,       // コントロールID
 integer nYear,         // 年
 integer nMonth,        // 月
 integer nDay           // 日
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_SetDtPickerDate  (
 integer nCtrlID,        // コントロールID
 string  strInputDate    // 日付
 [,float fTimeOut]       // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nYear（入力用）

コントロールに設定する年を指定してください。

nMonth（入力用）

コントロールに設定する月を指定してください。

nDay（入力用）

コントロールに設定する日を指定してください。

strInputDate

[in] コントロールに設定する日付を指定してください。日付はYYYY/MM/DD形式で，YYYYが年，MMが月，そしてDDが日を示すように指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SetDtPickerTime

機能

日時ピッカーに時刻を設定します。

形式

bool AIT_SetDtPickerTime  (
 string strCaption,     // コントロールのキャプション
 integer nHour,         // 時間
 integer nMinute,       // 分
 integer nSecond        // 秒
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_SetDtPickerTime  (
 string strCaption,     // コントロールのキャプション
 string strInputTime    // 時刻
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_SetDtPickerTime  (
 integer nCtrlID,       // コントロールID
 integer nHour,         // 時間
 integer nMinute,       // 分
 integer nSecond        // 秒
 integer [nTimeOut]     // タイムアウト時間
);
bool AIT_SetDtPickerTime  (
 integer nCtrlID,       // コントロールID
 string strInputTime    // 時刻
 [,float fTimeOut]      // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nHour（入力用）

コントロールに設定する時間を指定してください。

nMinute（入力用）

コントロールに設定する分を指定してください。

nSecond（入力用）

コントロールに設定する秒を指定してください。

strInputTime（入力用）

コントロールに設定する時刻を指定してください。時刻はhh:mm:ss形式で，hhが時間，mmが分，そしてssが秒を示すように指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで指定されている値が使われます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SetKeyState

機能

指定したキー状態に設定します。

形式

bool AIT_SetKeyState  (
 integer nVirtualKey,     // 仮想キー
 integer nKeyState        // キー状態
);

引数

nVirtualKey（入力用）

設定する仮想キーを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
NUMLOCK | ［Num Lock］キー
SCROLLLOCK | ［Scroll Lock］キー
CAPSLOCK | ［Caps Lock］キー

nKeyState（入力用）

設定するキー状態を指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
KEYSTATE_OFF | キーのオフ状態
KEYSTATE_ON | キーのオン状態

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL

AIT_SetProfileString

機能

INIファイルのセクションにあるキーの値を作成または変更します。

形式

bool AIT_SetProfileString  (
 string strIniFileName,     // INIファイル名
 string strSectionName,     // セクション名
 string strKeyName,         // キー名
 string strValue            // 値
);

引数

strIniFileName（入力用）

INIファイル名を指定してください。

strSectionName（入力用）

INIファイルのセクション名を指定してください。

strKeyName（入力用）

セクション名に属するキー名を指定してください。

strValue（入力用）

設定するキーの値を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。

関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
2 | ERROR_FILE_NOT_FOUND
3 | ERROR_PATH_NOT_FOUND
5 | ERROR_ACCESS_DENIED
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
15 | ERROR_INVALID_DRIVE
21 | ERROR_NOT_READY
23 | ERROR_CRC
53 | ERROR_BAD_NETPATH
67 | ERROR_BAD_NET_NAME
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
123 | ERROR_INVALID_NAME
148 | ERROR_PATH_BUSY
1005 | ERROR_UNRECOGNIZED_VOLUME

AIT_SetScrollPos

機能

スクロールバーを移動します。

形式

bool AIT_SetScrollPos (
 integer nCtrlID,         // コントロールID
 integer nPosition        // 位置
 [,float fTimeOut]        // タイムアウト時間
);
bool AIT_SetScrollPos (
 string strCaption,       // コントロールのキャプション
 integer nCtrlType,       // コントロールタイプ
 integer nScrollType,     // スクロールタイプ
 integer nPosition,       // 設定位置
 integer nScrollMovement  // 移動タイプ
 [,float fTimeOut]        // タイムアウト時間
);
bool AIT_SetScrollPos (
 integer nCtrlID,         // コントロールID
 integer nCtrlType,       // コントロールタイプ
 integer nScrollType,     // スクロールタイプ
 integer nPosition,       // 設定位置
 integer nScrollMovement  // 移動タイプ
 [,float fTimeOut]        // タイムアウト時間
);

引数

nCtrlID（入力用）

コントロールIDを指定してください。

nPosition（入力用）

設定する位置を指定してください。

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlType（入力用）

スクロールバーを持つコントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
EDIT_CTRL | コントロールタイプはエディットコントロールです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
LIST_CTRL | コントロールタイプはリストコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。

nScrollType（入力用）

スクロールバーのタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
VSCROLL | 縦スクロールバー
HSCROLL | 横スクロールバー

nScrollMovement（入力用）

スクロールバーコントロールの移動タイプを指定してください。nScrollTypeがVSCROLLの場合，これは次の値のどれかにする必要があります。

値 | 意味
SB_BOTTOM | 右下にスクロールします。
SB_LINEDOWN | 1行下にスクロールします。
SB_LINEUP | 1行上にスクロールします。
SB_PAGEDOWN | 1ページ下にスクロールします。
SB_PAGEUP | 1ページ上にスクロールします。
SB_THUMBPOSITION | ユーザはスクロールボックス（サム）をドラッグしてマウスボタンを放しました。
SB_THUMBTRACK | ユーザはスクロールボックスをドラッグしています。
SB_TOP | 左上にスクロールします。

nScrollTypeがHSCROLLの場合，これは次の値のどれかにする必要があります。

値 | 意味
SB_LEFT | 左上にスクロールします。
SB_RIGHT | 右下にスクロールします。
SB_LINELEFT | 1単位左にスクロールします。
SB_LINERIGHT | 1単位右にスクロールします。
SB_PAGELEFT | ウィンドウ幅分左にスクロールします。
SB_PAGERIGHT | ウィンドウ幅分右にスクロールします。
SB_THUMBPOSITION | ユーザはスクロールボックス（サム）をドラッグしてマウスボタンを放しました。
SB_THUMBTRACK | ユーザはスクロールボックスをドラッグしています。

nTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SetSpinPos

機能

アクティブなウィンドウの特定のコントロールでの位置を設定します。

形式

bool AIT_SetSpinPos (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nPosition      // 設定位置
 [,float fTimeOut]      // タイムアウト時間
);
bool AIT_SetSpinPos (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 integer nPosition      // 設定位置
 [,float fTimeOut]      // タイムアウト時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
SPIN_CTRL | コントロールタイプがスピンコントロール
SLIDER_CTRL | コントロールタイプがスライダーコントロール

nPosition（入力用）

設定する位置を指定してください。

fTimeOut（入力用，省略可）

この関数がコントロールを見つけるために使用できる最大時間を秒単位で指定してください。省略した場合は，関数AIT_SetDefaultWaitTimeoutで設定した値が使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_SetWndPos

機能

指定したウィンドウの位置を変更します。

形式

bool AIT_SetWndPos  (
 integer nWndHandle,     // ウィンドウハンドル
 integer nLeft,          // 水平位置
 integer nTop            // 垂直位置
);

引数

nWndHandle（入力用）

ウィンドウのハンドルを指定してください。0を指定した場合，アクティブなウィンドウの位置が設定されます。

nLeft（入力用）

変更後のウィンドウの左上隅のX座標（水平位置）を指定してください。

nTop（入力用）

変更後のウィンドウの左上隅のY座標（垂直位置）を指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_SetWndPosSize

機能

指定したウィンドウの位置とサイズを変更します。

形式

bool AIT_SetWndPosSize  (
 integer nHandle,      // ウィンドウハンドル
 integer nLeft,        // 水平位置
 integer nTop,         // 垂直位置
 integer nWidth,       // ウィンドウの幅
 integer nHeight       // ウィンドウの高さ
);

引数

nHandle（入力用）

ウィンドウのハンドルを指定してください。0を指定した場合，アクティブなウィンドウの位置が設定されます。

nLeft（入力用）

変更後のウィンドウの左上隅のX座標（水平位置）を指定してください。

nTop（入力用）

変更後のウィンドウの左上隅のY座標（垂直位置）を指定してください。

nWidth（入力用）

変更後のウィンドウの幅を指定してください。

nHeight（入力用）

変更後のウィンドウの高さを指定してください。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_Sleep

機能

AITファイルの実行を一定時間停止します。

形式

AIT_Sleep  (
 float fSeconds        // 秒数
);

引数

fSeconds（入力用）

実行を停止する時間を秒単位で指定してください。

戻り値

なし

AIT_StatusBox

機能

入力したメッセージを含むダイアログボックスを表示します。

形式

bool AIT_StatusBox(
 string       strMessage,   // メッセージ文字列
 [[[[,integer nXCord]       // X座標
 [,integer    nYCord]       // Y座標
 [,integer    nWidth]       // メッセージボックスの幅
 [,integer    nHeight]]     // メッセージボックスの高さ
 [,bool       bIsTop]       // 最前面のメッセージボックス
 [,bool       bIsMovable]]  // 移動可能なメッセージボックス
 [,string     strFontName]] // メッセージのフォント名
 [,integer    nFontSize]    // メッセージのフォントサイズ
 [,integer    nFontWeight]  // メッセージのフォント幅
);

引数

strMessage（入力用）

ダイアログボックスに表示するメッセージ文字列を指定してください。

nXCord（入力用，省略可）

ダイアログボックスの左上隅のX座標を指定してください。-1を指定した場合，X座標の中央にダイアログボックスが表示されます。

nYCord（入力用，省略可）

ダイアログボックスの左上隅のY座標を指定してください。-1を指定した場合，Y座標の中央にダイアログボックスが表示されます。

nXCordおよびnYCordを省略した場合は，ダイアログボックスが中央に配置されます。

nWidth（入力用，省略可）

ダイアログボックスの幅を指定してください。

nHeight（入力用，省略可）

ダイアログボックスの高さを指定してください。

nWidthおよびnHeightを省略した場合は，ダイアログボックスのサイズがstrMessageのサイズと同じになります。

bIsTop（入力用，省略可）

trueを指定すると，ダイアログボックスは常に最前面に配置されます。falseを指定すると，最初は前面に表示されますが，ほかのウィンドウを移動したり作成したりすると，背面に移動します。任意の動作にはfalseを指定してください。

なお，trueを指定しても，ほかのウィンドウの動作によってダイアログボックスが背面に移動する場合があります。この場合，再度APIを実行することでダイアログボックスを最前面に表示できます。

この引数を使用する場合は，nXCord，nYCord，nWidth，およびnHeightを指定する必要があります。

bIsMovable（入力用，省略可）

trueを指定すると，ダイアログボックスは移動可能になります。falseを指定すると，ダイアログボックスは移動できません。

この引数を使用する場合は，nXCord，nYCord，nWidth，およびnHeightを指定する必要があります。

strFontName（入力用，省略可）

メッセージの表示フォントを指定する文字列を指定してください。使用可能なフォントは，システムによって異なることがあります。

任意の動作には""を指定してください。この場合，デフォルトフォントはシステムが決定します。

この引数を使用する場合は，nXCord，nYCord，nWidth，nHeight，bIsTop，およびbIsMovableを指定する必要があります。

nFontSize（入力用，省略可）

メッセージのフォントサイズを整数で指定してください。単位はポイントです。

任意の動作には0を指定してください。この場合，デフォルトフォントサイズはシステムが決定します。

nFontWeight（入力用，省略可）

メッセージのフォント幅を整数で指定してください。有効な値は0～900です。最低の値を指定すると最も細いフォントに，最高の値を指定すると最も太いフォントになります。

任意の動作には0を指定してください。この場合，デフォルトのフォントの太さはシステムが決定します。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
87 | ERROR_INVALID_PARAMETER

注意事項

省略可と示されている引数は独立した引数ではありません。その前の省略可能な引数をデフォルト値で指定する必要があります。例えばnXCordとnYCordだけを指定する場合は，あとに続くほかの省略可能な引数を省けます。しかし，nFontSizeとnFontWeightだけを指定する場合は，あとに続く省略可能な引数を省くことはできません。その前の省略可能な引数にはデフォルト値を指定する必要があります。

AIT_StatusBoxClose

機能

表示されているステータスボックスを閉じます。

形式

AIT_StatusBoxClose ();

引数

なし

戻り値

なし

AIT_StrLeft

機能

文字列の左から指定した文字数分だけ返します。

strStrNameの先頭（左端）から，nNumCharsで指定した文字数分を抽出します。nNumCharsが文字列の長さを超える場合は，文字列全体を抽出します。

形式

string AIT_StrLeft (
 string strStrName,    // 文字列
 integer nNumChars     // 文字数
);

引数

strStrName（入力用）

文字列を指定してください。

nNumChars（入力用）

抽出する文字数を指定してください。

戻り値

抽出した文字列を返します。

注意事項

マルチバイト文字セット（MBCS）の場合は，8ビットごとに1文字としてカウントします。つまり，1マルチバイト文字の先頭および末尾のバイトを2文字としてカウントします。

AIT_StrLength

機能

文字列の長さを返します。

形式

integer AIT_StrLength (
 string strStrName    // 文字列
);

引数

strStrName（入力用）

文字列を指定してください。

戻り値

文字列の長さを返します。

AIT_StrLower

機能

文字列を小文字に変換します。

形式

string AIT_StrLower (
 string strStrName    // 文字列
);

引数

strStrName（入力用）

文字列を指定してください。

戻り値

小文字に変換した文字列を返します。

AIT_StrLTrim

機能

文字列の先頭（左端）から，空白または指定した文字をすべて削除した文字列を返します。

形式

string AIT_StrLTrim (
 string strStrName        // 文字列
 [,string strCharValue]   // 文字の値
);

引数

strStrName（入力用）

文字列を指定してください。

strCharValue（入力用，省略可）

削除する文字を指定してください。省略した場合，文字列の先頭から空白（改行，スペース，タブ文字など）を削除します。

戻り値

文字列の先頭からすべての空白または指定した文字を削除した文字列を返します。

AIT_StrRight

機能

文字列の右から，指定した文字数分だけ返します。

strStrNameの末尾（右端）から，nNumCharsで指定した文字数分を抽出します。nNumCharsが文字列の長さを超える場合は，文字列全体を返します。

形式

string AIT_StrRight (
 string strStrName,    // 文字列
 integer nNumChars     // 文字数
);

引数

strStrName（入力用）

文字列を指定してください。

nNumChars（入力用）

抽出する文字数を指定してください。

戻り値

抽出した文字列を返します。

注意事項

マルチバイト文字セット（MBCS）の場合は，8ビットごとに1文字としてカウントします。つまり，1マルチバイト文字の先頭および末尾のバイトを2文字としてカウントします。

AIT_StrRTrim

機能

文字列の末尾（右端）から空白または指定した文字をすべて削除した文字列を返します。

形式

string AIT_StrRTrim (
 string strStrName        // 文字列
 [,string strCharValue]   // 文字の値
);

引数

strStrName（入力用）

文字列を指定してください。

strCharValue（入力用，省略可）

削除する文字を指定してください。省略した場合は，文字列の末尾から空白（改行，スペース，タブ文字など）を削除します。

戻り値

文字列の末尾からすべての空白または指定した文字を削除した文字列を返します。

AIT_StrTrim

機能

文字列の先頭（左端）および，末尾（右端）から空白または指定した文字をすべて削除した文字列を返します。

形式

string AIT_StrTrim (
 string strStrName        // 文字列
 [,string strCharValue]   // 文字の値
);

引数

strStrName（入力用）

文字列を指定してください。

strCharValue（入力用，省略可）

削除する文字を指定してください。省略した場合は，先頭，および末尾から空白（改行，スペース，タブ文字など）を削除します。

戻り値

文字列の先頭，および末尾から空白または指定した文字を削除した文字列を返します。

AIT_StrUpper

機能

文字列を大文字に変換します。

形式

string AIT_StrUpper (
 string strStrName    // 文字列
);

引数

strStrName（入力用）

文字列を指定してください。

戻り値

大文字に変換した文字列を返します。

AIT_TaskbarClk

機能

タスクバーの空いている場所をクリックします。

形式

bool AIT_TaskbarClk  (
 [integer nMouseButton]     // マウスボタン
);

引数

nMouseButton（入力用，省略可）

マウスでクリックするボタンを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTON | 中央マウスボタン
RBUTTON | 右マウスボタン

省略した場合は，RBUTTONがデフォルト値として使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_TaskbarHasFocus

機能

タスクバーが入力フォーカスを持っているかどうかを確認します。

形式

integer AIT_TaskbarHasFocus ();

引数

なし

戻り値

タスクバーがフォーカスを持っている場合は戻り値が1，タスクバーがフォーカスを持っていない場合は戻り値が0，失敗した場合は戻り値が-1になります。-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_TaskbarItemClk

機能

タスクバーの特定のタブ項目上をクリックします。

形式

bool AIT_TaskbarItemClk (
 integer nIndex            // インデックス
 [,integer nMouseButton]   // マウスボタン
);

引数

nIndex（入力用）

タスクバー項目のインデックスを指定してください。インデックスは1を基準とするため，最初の項目のインデックスは1になります。

nMouseButton（入力用，省略可）

マウスでクリックするボタンを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
LBUTTON | 左マウスボタン
MBUTTON | 中央マウスボタン
RBUTTON | 右マウスボタン

省略した場合は，LBUTTONがデフォルト値として使用されます。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
1400 | ERROR_INVALID_WINDOW_HANDLE
1413 | ERROR_INVALID_INDEX

注意事項

この関数は，Windows 2000，Windows NT 4.0，Windows Me，およびWindows 98で使用できます。Windows 8，Windows Server 2012，Windows 7，Windows Server 2008，Windows Vista，Windows Server 2003，およびWindows XPでは使用できません。

AIT_TaskbarItemExists

機能

タスクバーに特定の項目が存在するかどうかを確認します。

形式

integer AIT_TaskbarItemExists  (
 integer nIndex      // インデックス
);

引数

nIndex（入力用）

タスクバー項目のインデックスを指定してください。インデックスは1を基準とするため，最初の項目のnIndexは1になります。

戻り値

タスクバー項目が存在する場合の戻り値は1，タスクバー項目が存在しない場合の戻り値は0，失敗した場合の戻り値は-1になります。-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
1400 | ERROR_INVALID_WINDOW_HANDLE
1413 | ERROR_INVALID_INDEX

注意事項

この関数は，Windows 2000，Windows NT 4.0，Windows Me，およびWindows 98で使用できます。Windows 8，Windows Server 2012，Windows 7，Windows Server 2008，Windows Vista，Windows Server 2003，およびWindows XPでは使用できません。

AIT_TaskbarItemIndex

機能

タスクバー上の選択されている項目のインデックスを返します。

形式

bool AIT_TaskbarItemIndex  (
 integer nIndex      // インデックス
);

引数

nIndex（出力用）

タスクバー項目のインデックスを受け取る変数を指定してください。インデックスは1を基準にしているため，最初の項目のインデックスは1になります。

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
1400 | ERROR_INVALID_WINDOW_HANDLE

注意事項

この関数は，Windows 2000，Windows NT 4.0，Windows Me，およびWindows 98で使用できます。Windows 8，Windows Server 2012，Windows 7，Windows Server 2008，Windows Vista，Windows Server 2003，およびWindows XPでは使用できません。

AIT_TaskbarItemSelected

機能

タスクバーの特定の項目が選択されているかどうかを確認します。

形式

integer AIT_TaskbarItemSelected  (
 integer nIndex      // インデックス
);

引数

nIndex（入力用）

タスクバー項目のインデックスを指定してください。インデックスは1を基準にしているため，最初の項目のインデックスは1になります。

戻り値

タスクバー項目が選択されている場合の戻り値は1，タスクバー項目が選択されていない場合の戻り値は0，失敗した場合の戻り値は-1になります。-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
1413 | ERROR_INVALID_INDEX

注意事項

この関数は，Windows 2000，Windows NT 4.0，Windows Me，およびWindows 98で使用できます。Windows 8，Windows Server 2012，Windows 7，Windows Server 2008，Windows Vista，Windows Server 2003，およびWindows XPでは使用できません。

AIT_TaskbarSetFocus

機能

タスクバーに入力フォーカスを設定します。

形式

bool AIT_TaskbarSetFocus ();

引数

なし

戻り値

関数が正常に処理された場合の戻り値はtrue，そのほかの場合はfalseになります。関数がfalseを返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
1400 | ERROR_INVALID_WINDOW_HANDLE

AIT_VerifyCharPos

機能

アクティブなウィンドウの特定のコントロールで文字位置を確認します。

形式

integer AIT_VerifyCharPos  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nVerifyPos     // 文字位置
);
integer AIT_VerifyCharPos  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 integer nVerifyPos     // 文字位置
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。コントロールタイプはEDIT_CTRLだけが有効です。

nVerifyPos（入力用）

確認する文字の位置の値を指定してください。位置は0を基準にしているため，エディットボックスの最初の文字は，位置が0になります。

戻り値

検索した位置が指定した位置と同じ場合の戻り値は1，異なる場合の戻り値は0，失敗した場合の戻り値は-1になります。

-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyCount

機能

アクティブなウィンドウの特定のコントロールで項目数を確認します。

形式

integer AIT_VerifyCount  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nItemCount     // 項目数
);
integer AIT_VerifyCount  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 integer nItemCount     // 項目数
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。これは，次の値のどれかにする必要があります。

値 | 意味
COMBO_CTRL | コントロールタイプがコンボボックスです。
LISTBOX_CTRL | コントロールタイプがリストボックスです。
TREE_CTRL | コントロールタイプがツリーコントロールです。
LIST_CTRL | コントロールタイプがリストコントロールです。

nItemCount（入力用）

確認する項目数の値を指定してください。

戻り値

指定した項目数と一致する場合の戻り値は1，一致しない場合の戻り値は0，失敗した場合の戻り値は-1になります。

-1が返された場合は，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyDateTime

機能

アクティブなウィンドウの特定のコントロールで日付または時間を確認します。

形式

integer AIT_VerifyDateTime  (
 string strCaption,     // コントロールのキャプション
 string strDateTime     // 日付または時間
);
integer AIT_VerifyDateTime  (
 integer nCtrlID,       // コントロールID
 string strDateTime     // 日付または時間
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

strDateTime（入力用）

コントロールの日付または時間を指定してください。

戻り値

指定した日付または時間と一致した場合の戻り値は1，一致しない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyDefaultButton

機能

アクティブなウィンドウで特定のコマンドボタンがデフォルトボタンかどうかを確認します。

形式

integer AIT_VerifyDefaultButton  (
 string strCaption    // コントロールのキャプション
);
integer AIT_VerifyDefaultButton  (
 integer nCtrlID      // コントロールID
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

戻り値

ボタンがデフォルトボタンの場合の戻り値は1，デフォルトボタンではない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyEnabled

機能

アクティブなウィンドウの特定のコントロールが使用可能かを確認します。

形式

integer AIT_VerifyEnabled  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType      // コントロールタイプ
 [,integer nCtrlPos]    // タブオーダー
);
integer AIT_VerifyEnabled  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType      // コントロールタイプ
 [,integer nCtrlPos]    // タブオーダー
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。

nCtrlPos（入力用，省略可）

コントロールのタブオーダーを指定してください。

戻り値

コントロールが使用可能な場合の戻り値は1，使用可能ではない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyExistence

機能

アクティブなウィンドウで特定のコントロールが存在するかを確認します。

形式

integer AIT_VerifyExistence  (
 string strCaption,    // コントロールのキャプション
 integer nCtrlType     // コントロールタイプ
);
integer AIT_VerifyExistence  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType     // コントロールタイプ
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。
IPADDRESS_CTRL | コントロールタイプはIPアドレスコントロールです。
SLIDER_CTRL | コントロールタイプはスライダーコントロールです。
SCROLLBAR_CTRL | コントロールタイプはスクロールバーコントロールです。

戻り値

コントロールが存在する場合の戻り値は1，存在しない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyFirstVisible

機能

リストボックスの最初の，可視項目のインデックスを確認します。

形式

integer AIT_VerifyFirstVisible  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nIndex         // インデックス
);
integer AIT_VerifyFirstVisible  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 integer nIndex         // インデックス
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。コントロールタイプはLISTBOX_CTRLだけ有効です。

nIndex（入力用）

コントロールのインデックスを指定してください。インデックスの基準値は0で，コントロールの最初の項目でのインデックスは0になります。

戻り値

指定したインデックスが最初の可視項目のインデックスと一致する場合の戻り値は1，一致しない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyFocus

機能

アクティブなウィンドウの特定のコントロールがフォーカスを持っているかどうかを確認します。

形式

integer AIT_VerifyFocus  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType      // コントロールタイプ
);
integer AIT_VerifyFocus  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType      // コントロールタイプ
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかを指定します。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。

戻り値

コントロールがフォーカスを持っている場合の戻り値は1，フォーカスを持っていない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyIndex

機能

アクティブなウィンドウの特定のコントロールでテキストとインデックスが一致しているかどうかを確認します。

形式

integer AIT_VerifyIndex  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 string strCtrlText,    // コントロールテキスト
 integer nIndex         // インデックス
);
integer AIT_VerifyIndex  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 string strCtrlText,    // コントロールテキスト
 integer nIndex         // インデックス
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。

strCtrlText（入力用）

コントロールのテキストを指定してください。

nIndex（入力用）

コントロールのインデックスを指定してください。インデックスの基準値は0です。

戻り値

指定したコントロールのインデックスとテキストが一致する場合の戻り値は1，一致しない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyKeyState

機能

キーの状態がキーボード上のキーの状態と同じ状態であるかを確認します。

形式

integer AIT_VerifyKeyState  (
 integer nVirtualKey,     // 仮想キー
 integer nKeyState        // キーの状態
);

引数

nVirtualKey（入力用）

確認するキー状態の仮想キーを指定してください。

次の値のどれかに該当する必要があります。

値 | 意味
NUMLOCK | ［Num Lock］キー
SCROLLLOCK | ［Scroll Lock］キー
CAPSLOCK | ［Caps Lock］キー

nKeyState（入力用）

確認するキーのオンまたはオフの状態を指定してください。次の値のどれかに該当する必要があります。

値 | 意味
KEYSTATE_OFF | キーはオフ状態
KEYSTATE_ON | キーはオン状態

戻り値

キーの状態が指定した状態と一致している場合の戻り値は1，一致していない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

AIT_VerifyLine

機能

アクティブなウィンドウでインデックスと複数行のエディットボックス上のカレント行が一致しているかどうかを確認します。

形式

integer AIT_VerifyLine  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nIndex         // インデックス
);
integer AIT_VerifyLine  (
 integer nCtrlID,       // コントロールID
 integer nCtrlType,     // コントロールタイプ
 integer nIndex         // インデックス
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。コントロールタイプはEDIT_CTRLだけ有効です。

nIndex（入力用）

確認するカレント行のインデックスを指定してください。インデックスの基準値は0で，エディットボックスの最初の行でのインデックスは0になります。

戻り値

エディットボックスでのカレント行が指定したインデックスと一致する場合の戻り値は1，一致しない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyLocation

機能

アクティブなウィンドウの特定のコントロールが指定した座標と一致するかどうかを確認します。

形式

integer AIT_VerifyLocation  (
 string  strCaption,   // コントロールのキャプション
 integer nCtrlType,    // コントロールタイプ
 integer nLeft,        // コントロールの左座標
 integer nTop,         // コントロールの上座標
 integer nRight,       // コントロールの右座標
 integer nBottom       // コントロールの下座標
);
integer AIT_VerifyLocation  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 integer nLeft,        // コントロールの左座標
 integer nTop,         // コントロールの上座標
 integer nRight,       // コントロールの右座標
 integer nBottom       // コントロールの下座標
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。

nLeft（入力用）

コントロールの左上隅のX座標を指定してください。

nTop（入力用）

コントロールの左上隅のY座標を指定してください。

nRight（入力用）

コントロールの右下隅のX座標を指定してください。

nBottom（入力用）

コントロールの右下隅のY座標を指定してください。

戻り値

コントロールの座標が指定した座標と一致した場合の戻り値は1，一致しない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyMenuChecked

機能

メニュー項目がチェックされているかどうかを確認します。

形式

integer AIT_VerifyMenuChecked  (
 integer nMenu,      // メニューハンドル
 integer nIndex      // メニュー項目のインデックス
);

引数

nMenu（入力用）

AIT_GetMenuまたはAIT_GetSubMenuのAPIが返したメニューハンドルを指定してください。

nIndex（入力用）

メニュー項目のインデックスを指定してください。メニューのインデックス基準値は0で，最初のメニュー項目のインデックスは0になります。

インデックスにはメニューセパレータのインデックスも含まれます。メニューセパレータのインデックスが入力値として与えられた場合，この関数の処理は失敗し拡張エラーコードでERROR_INVALID_INDEXを返します。

戻り値

メニュー項目がチェックされている場合の戻り値は1，チェックされていない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1401 | ERROR_INVALID_MENU_HANDLE
1413 | ERROR_INVALID_INDEX
1460 | ERROR_TIMEOUT

AIT_VerifyMenuEnabled

機能

メニュー項目が使用可能かどうかを確認します。

形式

integer AIT_VerifyMenuEnabled  (
 integer nMenu,      // メニューハンドル
 integer nIndex      // メニュー項目のインデックス
);

引数

nMenu（入力用）

AIT_GetMenuまたはAIT_GetSubMenuのAPIが返したメニューハンドルを指定してください。

nIndex（入力用）

メニュー項目のインデックスを指定してください。メニュー項目のインデックスは0から始まります。したがって，最初のメニュー項目のインデックスは0になります。

インデックスには，メニューセパレータのインデックスも含まれます。メニューセパレータのインデックスが入力値として与えられた場合，この関数の処理は失敗し拡張エラーコードERROR_INVALID_INDEXを返します。

戻り値

メニュー項目が使用可能な場合の戻り値は1，使用可能ではない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1401 | ERROR_INVALID_MENU_HANDLE
1413 | ERROR_INVALID_INDEX
1460 | ERROR_TIMEOUT

AIT_VerifyNoOfCtrls

機能

アクティブなウィンドウ内に存在するコントロールの個数が，指定した個数と一致するかどうかを確認します。

形式

integer AIT_VerifyNoOfCtrls  (
 integer nNumControls      // コントロール個数
);

引数

nNumControls（入力用）

確認するコントロールの個数を指定してください。

戻り値

コントロールの個数が一致した場合の戻り値は1，一致しなかった場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

AIT_VerifyPos

機能

アクティブなウィンドウの特定のコントロールが，指定したタブオーダーと一致するかどうかを確認します。

形式

integer AIT_VerifyPos  (
 string strCaption,     // コントロールのキャプション
 integer nCtrlType,     // コントロールタイプ
 integer nCtrlPos       // タブオーダー
);
integer AIT_VerifyPos  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 integer nCtrlPos      // タブオーダー
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
BUTTON_CTRL | コントロールタイプはコマンドボタンです。
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。
EDIT_CTRL | コントロールタイプはエディットボックスです。
STATIC_CTRL | コントロールタイプはスタティックテキストです。
COMBO_CTRL | コントロールタイプはコンボボックスです。
LISTBOX_CTRL | コントロールタイプはリストボックスです。
SPIN_CTRL | コントロールタイプはスピンコントロールです。
TREE_CTRL | コントロールタイプはツリーコントロールです。
LIST_CTRL | コントロールタイプはリストコントロールです。
DTPICKER_CTRL | コントロールタイプは日時ピッカーです。

nCtrlPos（入力用）

コントロールのタブオーダーを指定してください。

戻り値

コントロールのタブオーダーが指定したタブオーダーと一致する場合の戻り値は1，一致しない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifySelected

機能

アクティブなウィンドウの特定のコントロールで，指定したテキストがコントロール内で選択されているかどうかを確認します。

形式

integer AIT_VerifySelected  (
 string strCaption,      // コントロールのキャプション
 integer nCtrlType,      // コントロールタイプ
 string strSelectedText  // 選択テキスト
);
integer AIT_VerifySelected  (
 integer nCtrlID,        // コントロールID
 integer nCtrlType,      // コントロールタイプ
 string strSelectedText  // 選択テキスト
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。コントロールタイプはEDIT_CTRLだけ有効です。

strSelectedText（入力用）

確認するテキストを指定してください。

戻り値

コントロール内で選択されたテキストが指定したテキストと一致した場合の戻り値は1，一致しない場合の戻り値は0，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
6 | ERROR_INVALID_HANDLE
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyState

機能

アクティブなウィンドウで特定のコントロールがチェックされているかどうかを確認します。

形式

integer AIT_VerifyState  (
 string strCaption,    // コントロールのキャプション
 integer nCtrlType     // コントロールタイプ
);
integer AIT_VerifyState  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType     // コントロールタイプ
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。次の値のどれかに該当する必要があります。

値 | 意味
CHECKBOX_CTRL | コントロールタイプはチェックボックスです。
OPTIONBUTTON_CTRL | コントロールタイプはオプションボタンです。

戻り値

コントロールがチェックされた状態の戻り値は1，チェックされていない状態の戻り値は0，不確定状態の戻り値は2になり，失敗した場合の戻り値は-1になります。不確定状態はCHECKBOX_CTRLだけに適用されます。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

注意事項

コントロールは，完全なキャプションまたは関連するラベル名を使用するか，キャプションまたは関連するラベルの最初の部分を指定することで認識できます。キャプションまたは関連するラベルの最初の部分を指定する場合は，文字列の最初に「~」（波記号）を付けます。

AIT_VerifyText

機能

アクティブなウィンドウで，特定のコントロールが指定したテキストと一致するかどうかを確認します。

形式

integer AIT_VerifyText  (
 string strCaption,    // コントロールのキャプション
 integer nCtrlType,    // コントロールタイプ
 string strText        // テキスト
);
integer AIT_VerifyText  (
 integer nCtrlID,      // コントロールID
 integer nCtrlType,    // コントロールタイプ
 string strText        // テキスト
);

引数

strCaption（入力用）

コントロールのキャプションを指定してください。

nCtrlID（入力用）

コントロールIDを指定してください。

nCtrlType（入力用）

コントロールタイプを指定してください。コントロールタイプはEDIT_CTRLだけ有効です。

strText（入力用）

確認するテキストを指定してください。

戻り値

コントロールのテキストが指定したテキストと一致する場合の戻り値は1，一致しない場合の戻り値は0となり，失敗した場合の戻り値は-1となります。

関数が-1を返した場合には，AIT_GetLastErrorを使用して拡張エラーコードを取得できます。AIT_GetLastErrorが返す可能性のあるエラーコードを次に示します。

拡張エラー番号 | エラーコード
8 | ERROR_NOT_ENOUGH_MEMORY
14 | ERROR_OUTOFMEMORY
87 | ERROR_INVALID_PARAMETER
112 | ERROR_DISK_FULL
1400 | ERROR_INVALID_WINDOW_HANDLE
1460 | ERROR_TIMEOUT

4.3　APIの使用例

AIT言語が提供するAPIの使用例を次に示します。

＜この節の構成＞

4.3.1　復帰と改行を削除する

4.3.2　文字列を抽出する

4.3.3　リモートインストール時にレジストリのHKEY_CURRENT_USERを操作する

4.3.1　復帰と改行を削除する

ファイルから読み出した文章には，復帰と改行（¥r¥n）が含まれている場合があります。ファイルから読み出した文章「復帰と改行を削除しました。¥r¥n」から復帰と改行を削除して，RecDFile.logに実行結果を出力する例を次に示します。

＜この項の構成＞

(1)　記述例

(2)　実行結果

(1)　記述例

strFileName = "C:'¥Sample.txt";
strCharValue = "¥r¥n";                    // 復帰と改行の文字列
if (AIT_FileOpen(strFileName, GENERIC_READ, OPEN_EXISTING, nFileHandle))
 // ファイルからデータを読み込みます。
 if (!AIT_FileGetLine(nFileHandle, strReadData))
   AIT_LogMessage("AIT_FileGetLine failed");
 else
   // 読み込んだデータから，復帰と改行を削除します。
   strStrName = AIT_StrRTrim(strReadData, strCharValue);
   AIT_LogMessage("strStrName = " + strStrName);
 endif;
 AIT_FileClose(nFileHandle);
else
 AIT_LogMessage("AIT_FileOpen failed");
endif;

(2)　実行結果

RecDFile.logへの出力結果を次に示します。

strStrName = 復帰と改行を削除しました。

4.3.2　文字列を抽出する

文字列「0123-4567-89AB-CDEF」から英数字だけを抽出して，RecDFile.logへ実行結果を出力する例を次に示します。

＜この項の構成＞

(1)　記述例

(2)　実行結果

(1)　記述例

strStrName = "0123-4567-89AB-CDEF";    // 文字列
strSearchStr = "-";                    // 検索文字列
nStartPos = 0;
while(TRUE)
 // 抽出する文字列の長さを取得します。
 nLength = AIT_FindSubStr(strStrName, strSearchStr, nStartPos);
 if (nLength == -1)
   // 最後に抽出する文字列を設定します。
   strSubString = strStrName;
   AIT_LogMessage("strSubString = " + strSubString);
   // 文字列の抽出を終了します。
   break;
 else
   // 文字列を抽出します。
   if (!AIT_GetSubStr(strSubString, strStrName, nStartPos, nLength))
     AIT_LogMessage("AIT_GetSubStr failed");
     break;
   else
     AIT_LogMessage("strSubString = " + strSubString);
   endif;
   // 抽出する文字列から抽出した文字列を削除します。
   strStrName = AIT_StrLTrim(strStrName, strSubString);
   strStrName = AIT_StrLTrim(strStrName, strSearchStr);
   strSubString = "";
 endif;
loop;
// strStrNameは処理開始前の値と異なります。
AIT_LogMessage("strStrName = " + strStrName);

(2)　実行結果

RecDFile.logへの出力結果を次に示します。

strSubString = 0123
strSubString = 4567
strSubString = 89AB
strSubString = CDEF
strStrName = CDEF

4.3.3　リモートインストール時にレジストリのHKEY_CURRENT_USERを操作する

AITファイルでレジストリのHKEY_CURRENT_USERを操作するAPIを使用する場合，リモートインストール先のクライアントにAdministrator権限を持たないユーザがログオンしているときは，操作するレジストリがHKEY_USERS¥.DEFAULTへ変更されます。このとき，レジストリのHKEY_CURRENT_USERを操作するには，［スタート］メニューから［ファイル名を指定して実行］を実行して，レジストリファイルをインポートする必要があります。

AITファイルを使用して，リモートインストール時にレジストリのHKEY_CURRENT_USERを操作する手順を説明します。

レジストリファイルを作成する。
追加，変更などを実行したいレジストリのレジストリファイルを作成します。

注意

レジストリを操作する場合は，レジストリをバックアップしておくことと，システムの復元方法を理解しておくことをお勧めします。

AITファイルを作成する。
［スタート］メニューから［ファイル名を指定して実行］を実行し，regedit.exeを利用してレジストリファイルをインポートする例を次に示します。この例では，インポートするレジストリファイルを「Sample.reg」としています。

while(iLoopCount < iLoopMax)
 if((AITEVENTFLAG1==0) && (AITIGNORE == 0))
   // ［スタート］メニューを表示します。
   AIT_PlayKey("{LWIN}");
   AIT_Sleep(SLEEP_TIME_EVENTS);
   // ［ファイル名を指定して実行］を選択します。
   AIT_PlayKey("r");
   AIT_Sleep(SLEEP_TIME_EVENTS);
   AITEVENTFLAG1 = 1;
   AITIGNORE = 1;
   iLoopCount = 0;
 endif;
 if((AITEVENTFLAG1==1) && (AITIGNORE == 0) && (AIT_FocusWindow("ファイル名を指定して実行", "#32770") != 0))
   // レジストリファイルのパスを入力します。
   AIT_GetCurrentDirectory(strPath);
   AIT_PlayKey("regedit.exe /s '"" + strPath + "'¥Sample.reg'"");
   AIT_Sleep(SLEEP_TIME_EVENTS);
   // レジストリファイルをインポートします。
   AIT_PlayKey("{ENTER}");
   AIT_Sleep(SLEEP_TIME_EVENTS);
   iLoopCount = iLoopMax;
   DM_RTN = OK_END;
   continue;
 endif;
 AITIGNORE = 0;
 iLoopCount = iLoopCount + 1;
 AIT_Sleep(SLEEP_TIME);
loop;

配布するソフトウェアと同じディレクトリに，作成したレジストリファイルを格納する。

作成したAITファイルを指定してパッケージングを実行する。

リモートインストールを実行する。
リモートインストール先のクライアントで，setup.exeなどと同じディレクトリにレジストリファイルが展開され，AITファイルが実行されます。

5.　トラブルシューティング

この章では，Automatic Installation Toolでトラブルが発生した場合の対処方法，およびメッセージについて説明します。

＜この章の構成＞

5.1　メッセージの確認

5.2　編集ウィンドウ使用時のメッセージ

5.3　実行および解析時のメッセージ

5.1　メッセージの確認

AITファイルの実行時やコード解析時に，GUIの操作誤り，ディスク使用超過，メモリ破損などのトラブルが発生した場合は，まず，標準出力またはログファイルにエラーメッセージが出力されているかどうかを確認してください。エラーメッセージが出力されている場合，エラーメッセージのメッセージIDから，エラーが発生しているプログラムやトラブルの要因が特定できます。

＜この節の構成＞

5.1.1　メッセージの出力先

5.1.2　メッセージの形式

5.1.1　メッセージの出力先

メッセージは，ダイアログボックスまたはアウトプットウィンドウに表示されます。なお，一部のメッセージはログファイルに出力されます。ログファイルの格納先を次に示します。

JP1/NETM/DMのインストール先ディレクトリ¥LOG

メッセージが出力されるログファイルと，その内容は次のとおりです。

ファイル名 | 最大行数 | 内容
ait.log | 2000 | GUI関連のエラーがこのファイルに出力されます。
aitapi.log | 2000 | API関連のエラーがこのファイルに出力されます。
aitexec.log | 2000 | 実行，解析関連のエラーがこのファイルに出力されます。

5.1.2　メッセージの形式

このマニュアルでは，メッセージを次の形式で説明します。

メッセージID

メッセージテキスト

要因

aa・・・aa

対処

bb・・・bb

例

cc・・・cc

＜この項の構成＞

(1)　メッセージID

(2)　メッセージテキスト

(3)　要因

(4)　対処

(5)　例

(1)　メッセージID

メッセージの形式：AITXnnnn-Z メッセージテキスト

AIT

メッセージを表示したプログラムがAutomatic Installation Toolであることを表します。

X

メッセージを出力したコンポーネントを表します。

G：GUI

CEまたはCW：AITファイルの実行および解析時（EはERRORを，WはWARNINGを示します）

nnnまたはnnnn

各コンポーネントで任意に割り当てられるメッセージ番号を表します。

Z

メッセージの種別を表します。各種別を説明します。ただし，AITCE，AITCWのメッセージの場合，AITCE，AITCWの「E」および「W」に該当します。

E（ERROR）

致命的なエラーが発生したことを示し，通常は処理が停止するエラーメッセージです。

W（WARNING）

期待された情報が検出されなかったことを示す警告メッセージです。デフォルト値があります。

Q（QUESTION）

ユーザが応答する必要のあるメッセージです。

I（INFORMATION）

重要な活動が実行されていることを示す情報メッセージです。

(2)　メッセージテキスト

メッセージの内容を示したテキストです。メッセージ中の<XXX>の部分は，該当する文字列が実際には表示されます。

(3)　要因

メッセージが表示された要因の説明です。

(4)　対処

メッセージが表示された場合の対処方法の説明です。

(5)　例

APIの誤った使用方法および正しい使用方法の説明です。

5.2　編集ウィンドウ使用時のメッセージ

ここでは，編集ウィンドウ使用時に表示されるメッセージを示します。これらのメッセージは，ダイアログボックスまたはアウトプットウィンドウに表示されます。

＜この節の構成＞

AITG100-E

AITG101-E

AITG102-E

AITG103-E

AITG104-E

AITG105-E

AITG106-E

AITG107-W

AITG108-E

AITG109-E

AITG110-E

AITG111-E

AITG112-Q

AITG113-E

AITG114-E

AITG115-W

AITG116-W

AITG117-W

AITG118-W

AITG119-W

AITG120-E

AITG121-W

AITG122-E

AITG123-E

AITG124-E

AITG125-E

AITG200-E

AITG201-E

AITG202-E

AITG203-E

AITG204-E

AITG205-E

AITG206-E

AITG208-E

AITG209-I

AITG211-W

AITG212-I

AITG213-I

AITG214-W

AITG215-E

AITG216-Q

レジストリが無効または壊れている可能性があります。

要因

以下の要因が考えられます。

構成レジストリデータベースが壊れています。

構成レジストリキーが無効です。

レジストリが壊れています。レジストリデータを含む一部のファイル構造体が壊れている，システム上のファイルのメモリイメージが壊れている，または代替のコピーかログが存在しないか壊れているためファイルを修復できません。

システムはレジストリ内にファイルをロードするか復元することを試みましたが，指定されたファイルの形式はレジストリファイル形式ではありませんでした。

対処

該当する追加情報に基づいて，必要な処理を実行してください。レジストリが壊れている場合は，修複ディスクを使用して設定情報を復元してください。

問題が解決しない場合は，システム管理者に連絡してください。

レジストリの操作が失敗しました。

要因

以下の要因が考えられます。

構成レジストリキーを開けません。

構成レジストリキーを読み込めません。

構成レジストリキーに書き込めません。

レジストリで修復できない失敗を持つI/O操作を開始したため，システムのレジストリイメージを含むファイルの一つに対して，読み取り，書き込み，またはフラッシュを実行できませんでした。

「削除」としてすでに指示されているレジストリキーに対し，誤った操作が実行されました。

レジストリログ内に必要な領域を割り当てられませんでした。

すでにサブキーまたは値のあるレジストリキーにシンボリックリンクを作成できません。

揮発性親キーの下に安定したサブキーを作成しようとしました。

対象となるマルチバイトコードページにUnicode文字のマッピングが存在しません。

インデックス内に指定されたキーと一致するものがありませんでした。

対処

該当する追加情報に基づいて，必要な処理を実行してください。

問題が解決しない場合は，システム管理者に連絡してください。

内部でエラーが発生しました。

要因

アプリケーションが以下に示す誤ったハンドルで，リソースにアクセスしました。

無効なハンドル

無効なウィンドウハンドル

無効なフックハンドル

対処

アプリケーションを再実行してください。

問題が解決しない場合は，システム管理者に連絡してください。

メモリまたはディスクの残容量がありません。

要因

以下の要因が考えられます。

このコマンドを処理するための十分な記憶容量がありません。

この処理を完了するための十分な記憶容量がありません。

ディスクがいっぱいです。

ディスク上に十分なスペースがありません。

要求されたサービスを完了するためにはシステムリソースが不足しています。

対処

使用していないアプリケーションをすべて終了して再度処理を試みてください。

ディスク上の不要なファイルを削除してアプリケーションを再実行してください。

問題が解決しない場合は，システム管理者に連絡してください。

ファイルまたはディレクトリの操作が失敗しました。

要因

以下の要因が考えられます。

システムが指定されたファイルを検索できません。

システムが指定されたパスを検索できません。

システムがファイルを開けません。

システムが指定されたドライブを検索できません。

ディレクトリを削除できません。

システムがファイルをほかのディスクドライブに移動できません。

ファイルが存在しません。

ディレクトリまたはファイルを作成できません。

ファイル名が長過ぎます。

ディレクトリがルートディレクトリのサブディレクトリではありません。

ディレクトリが空ではありません。

ハードディスクへのアクセス中に，ディスク操作に失敗し，さらに再試行も失敗しました。

対処

該当する追加情報に基づいて，必要な処理を実行してください。

例えば，正しいファイル名かパス名または正しいドライブ名を使用して再試行してください。

問題が解決しない場合は，システム管理者に連絡してください。

レコーダの起動に失敗しました。

要因

編集ウィンドウから以下のどれかが初期化されています。

文法チェック

実行

レコーダ

ウィンドウプロパティ

対処

アプリケーションを再実行してください。

問題が解決しない場合は，システム管理者に連絡してください。

デバッグ操作は失敗しました。

要因

デバッグ時にアプリケーションが実行エンジンと交信できません。

対処

アプリケーションを再実行してください。

問題が解決しない場合は，システム管理者に連絡してください。

シンタクスファイルは見つかりませんでした。シンタクスハイライトは活性化されませんでした。

要因

編集ウィンドウから文法ファイル（AIT.syn）を検索できません。

対処

次のレジストリキーに指定された文法ファイルのパスが，正しいロケーションを指していません。

OSが32ビット版の場合
HKEY_LOCAL_MACHINE¥SOFTWARE¥HITACHI¥NETM AIT¥ConfPath

OSが64ビット版の場合
HKEY_LOCAL_MACHINE¥SOFTWARE¥Wow6432Node¥Hitachi¥NETM AIT¥ConfPath

レジストリ内のパスを検証して，アプリケーションを再実行してください。

無効な行数です。

要因

［ジャンプ］ダイアログボックスまたは［ブレークポイントの設定］ダイアログボックスの操作時，行番号エディットボックスに無効な行番号が指定されています。

対処

有効な番号を指定して再試行してください。

文字列'<文字列>'は見つかりません。

要因

［検索］ダイアログボックスまたは［置換］ダイアログボックスの操作時に，アプリケーションが編集ウィンドウのテキストから文字列を検索できません。

対処

必要ありません。

PACKAGE_INFOセクションの形式は無効です。

要因

［パッケージ情報］ダイアログボックスを呼び出す際の，AITファイル内のPACKAGE_INFOセクションの形式に誤りがあります。

対処

AITファイルの文法をチェックしてから［パッケージ情報］ダイアログボックスを呼び出してください。

必須項目'<項目名>'を入力してください。

要因

［パッケージ情報］ダイアログボックスで必ず指定する，以下のパッケージ項目が指定されていません。

パッケージ識別ID

パッケージ名

バージョン

インストールプログラム名

インストール先ドライブ

インストール先ディレクトリ

対処

必ず指定する項目を指定してからパッケージ情報を生成してください。

パッケージ情報を更新しますか？

要因

［レコーダ］ダイアログボックスの［停止］ボタンをクリックすると表示されます。AITファイル内にPACKAGE_INFOセクションを生成するかどうかを選択します。

対処

PACKAGE_INFOセクションを生成するために［パッケージ情報］ダイアログボックスを表示する場合は，［はい］ボタンをクリックしてください。

PACKAGE_INFOセクションのないAITファイルを作成する場合は，［いいえ］ボタンをクリックしてください。

1から64までの範囲で指定してください。

要因

［オプション］ダイアログボックスの［タブ］パネルの「タブサイズ」に，1～64以外の整数値が指定されています。

対処

1～64の整数値を指定して再試行してください。

無効な文字が入力されました。<指定できる文字列>を指定してください。

要因

［パッケージ情報］ダイアログボックスの，以下のパッケージ項目のどれかに無効な文字が指定されています。

パッケージ識別ID

パッケージ名

バージョン

インストールプログラム名

インストール先ディレクトリ

対処

<指定できる文字列>に表示された内容に従って，指定できる文字列を入力してからパッケージ情報を生成してください。

レジストリキーを更新できません。

要因

以下の要因が考えられます。

構成レジストリデータベースが壊れています。

構成レジストリキーが開けません。

構成レジストリキーが読めません。

構成レジストリキーを更新できません。

構成レジストリキーが無効です。

レジストリが壊れています。レジストリデータを含む一部のファイル構造体が壊れている，システム上のファイルのメモリイメージが壊れている，または代替のコピーかログが存在しないか壊れているため，ファイルを修復できません。

システムはレジストリ内のファイルの更新を試みましたが，指定されたファイルの形式はレジストリファイル形式ではありません。

対処

該当する追加情報に基づいて，必要な処理を実行してください。

レジストリキーを読み込めません。

要因

以下の要因が考えられます。

構成レジストリデータベースが壊れています。

構成レジストリキーが開けません。

構成レジストリキーが読めません。

構成レジストリキーが無効です。

レジストリが壊れています。レジストリデータを含む一部のファイル構造体が壊れている，システム上のファイルのメモリイメージが壊れている，または代替のコピーかログが存在しないか壊れているため，ファイルを修復できません。

システムはレジストリからのファイルの読み出しを試みましたが，指定されたファイルの形式はレジストリファイル形式ではありません。

対処

該当する追加情報に基づいて，必要な処理を実行してください。

レジストリキーを削除できません。

要因

以下の要因が考えられます。

構成レジストリデータベースが壊れています。

構成レジストリキーを削除できません。

構成レジストリキーが無効です。

レジストリが壊れています。レジストリデータを含む一部のファイル構造体が壊れている，システム上のファイルのメモリイメージが壊れている，または代替のコピーかログが存在しないか壊れているため，ファイルを修復できません。

システムはレジストリからのファイルの削除を試みましたが，指定されたファイルの形式はレジストリファイル形式ではありません。

対処

該当する追加情報に基づいて，必要な処理を実行してください。

AITエンジンの処理が実行されています。ファイルを閉じることはできません。

要因

文法チェック中に，処理中のAITファイルを閉じる操作が実行されています。

対処

必要ありません。

AITエンジンの処理が実行されています。アプリケーションを閉じることはできません。

要因

以下の要因が考えられます。

AITファイルが文法チェック中に，アプリケーションを閉じようとした場合

実行エンジンによってAITファイルが実行されている際に，アプリケーションを閉じようとした場合

対処

必要ありません。

シンボルが見つかりませんでした。

要因

以下の要因が考えられます。

デバッグモード時にAITファイルで定義されていない変数を監視ウィンドウに入力した場合

デバッグモード時にAITファイルで定義されていない記号を入力した場合

対処

監視ウィンドウに入力する記号が，デバッグ中のAITファイルで有効な変数であることを確認してください。

オプションを更新する権限がありません。保存されたオプションは現在のセッションだけに反映されます。

要因

ゲストとしてログオンしているときに，レジストリの値が保存されました。

対処

必要ありません。

<各パッケージ項目に入力できる最大文字数>文字を超えています。

要因

PACKAGE_INFOセクションの各パッケージ項目に入力できる最大文字数を超えた状態で，PACKAGE_INFOセクションが生成されています。

対処

各パッケージ項目は，最大文字数以下の文字数で入力してください。

<各パッケージ項目に入力できる最大文字数>文字を超えています。

要因

PP識別情報ファイルの各パッケージ項目に入力できる最大文字数を超えた状態で，PP識別情報ファイルが生成されています。

対処

各パッケージ項目で指定できる文字数を確認して，指定できる範囲内の文字数で入力してください。

PP識別情報ファイルの操作に失敗しました。

要因

ほかのアプリケーションで操作されている可能性があります。

対処

ほかのアプリケーションで操作されているPP識別情報ファイルを閉じてください。

項目'<項目名>'を入力してください。

要因

［パッケージ情報］ダイアログボックスで，次の項目のどちらかが指定されていません。

「AITファイルの格納パス」

「識別用ファイル名」

対処

項目を指定してからパッケージ情報を生成してください。

レコーディングの操作が失敗しました。

要因

アプリケーションが以下に示す誤ったハンドルでリソースにアクセスしました。

無効なハンドル

無効なウィンドウハンドル

無効なフックハンドル

対処

アプリケーションを再実行してください。

問題が解決しない場合は，システム管理者に連絡してください。

ウィンドウ詳細の取得に失敗しました。

要因

レコーディング時に，ウィンドウの情報を取得できませんでした。

対処

問題が解決しない場合は，システム管理者に連絡してください。

コントロール詳細の取得に失敗しました。

要因

レコーディング時に，ウィンドウのコントロール情報を取得できませんでした。

対処

問題が解決しない場合は，システム管理者に連絡してください。

イベント詳細の取得に失敗しました。

要因

レコーディング時に，イベント情報を取得できませんでした。

対処

問題が解決しない場合は，システム管理者に連絡してください。

AITファイルでPACKAGE_INFOセクションの生成に失敗しました。

要因

レコーディング終了後にPACKAGE_INFOセクションを生成できませんでした。

対処

一時フォルダを削除して再試行してください。

問題が解決しない場合は，システム管理者に連絡してください。

AITファイルでDEFINEセクションの生成に失敗しました。

要因

レコーディング終了後にDEFINEセクションを生成できませんでした。

対処

一時フォルダを削除して再試行してください。

問題が解決しない場合は，システム管理者に連絡してください。

AITファイルでMAINセクションの生成に失敗しました。

要因

レコーディング終了後にMAINセクションが生成できませんでした。

対処

一時フォルダを削除して再試行してください。

問題が解決しない場合は，システム管理者に連絡してください。

AITファイルの生成に失敗しました。

要因

レコーディング終了後にAITファイルを生成できませんでした。

以下の要因が考えられます。

ハードディスクへのアクセス中に，ディスク操作に失敗し，さらに再試行も失敗しました。

このコマンドを処理するための十分な記憶容量がありません。

この処理を完了するための十分な記憶容量がありません。

無効なハンドルです。

対処

該当する追加情報に基づいて，必要な処理を実行してください。

問題が解決しない場合は，システム管理者に連絡してください。

インストールプログラム<インストールプログラム名>の実行は成功しました。

要因

AITファイルが正常に実行されました。

対処

必要ありません。

AITファイルのためのログオプションは，レジストリに設定されませんでした。

要因

レジストリ内にログオプションが設定されていません。

対処

レジストリ内のログオプションを設定してください。

レコーディングの処理が完了しました。

要因

レコーディングが正常に完了しました。

対処

必要ありません。

AITファイルの作成が成功しました。

要因

レコーディング終了後にAITファイルが正常に生成されました。

対処

必要ありません。

ユーザ情報ファイルの更新は，存在しないイベントのためにスキップしました。

要因

一時停止後にレコーダがレコーディングを続行できません。

対処

必要ありません。

レコーディングを継続できませんでした。

要因

一時停止後にレコーダがレコーディングを続行できません。

対処

該当する追加情報に基づいて，必要な処理を実行してください。

インストールプログラムの起動に失敗しました。: <インストールプログラム名> <追加情報> レコーディングを続けますか。

要因

［レコーダ］ダイアログボックスで，誤ったインストールプログラム名が指定されています。

以下の要因が<追加情報>として表示されます。

指定されたファイルを見つけることができません

指定されたパスを見つけることができません

アクセスが拒否されました

メモリが不足しているため処理を行えません

対処

レコーディングを開始する場合は［はい］ボタンを，追加情報に従って必要な処置を実行する場合は［いいえ］ボタンをクリックしてください。

5.3　実行および解析時のメッセージ

ここでは，AITファイル解析時および実行時に表示されるメッセージを示します。これらのメッセージは，アウトプットウィンドウに表示されます。

＜この節の構成＞

AITCE-0001

AITCE-0002

AITCE-0003

AITCE-0005

AITCE-0006

AITCE-0007

AITCE-0008

AITCE-0009

AITCE-0010

AITCE-0011

AITCE-0012

AITCE-0013

AITCE-0014

AITCE-0015

AITCE-0018

AITCE-0019

AITCE-0020

AITCE-0021

AITCE-0022

AITCE-0023

AITCE-0024

AITCE-0025

AITCE-0026

AITCE-0027

AITCE-0029

AITCE-0030

AITCE-0031

AITCE-0032

AITCE-0034

AITCE-0037

AITCE-0038

AITCE-0039

AITCE-0040

AITCE-0041

AITCE-0042

AITCE-0043

AITCE-0044

AITCE-0045

AITCE-0046

AITCE-0047

AITCE-0048

AITCE-0050

AITCW-0016

AITCW-0017

AITCW-0028

AITCW-0033

AITCW-0035

AITCW-0036

<トークン1>は予期しないものです。<トークン2>は見つかりません。

要因

無効なキーワードまたはシンボル<トークン1>が検出されました。スクリプト解析では，キーワードまたはシンボル<トークン2>を予期しています。

対処

必要に応じて<トークン2>を追加してください。

例

誤った指定例

DEFINE
{
  const integer OK_END = 0;
  const integer NG_END = -1      // 「;」が指定されていません
  const integer sloop_max = 30;
}

正しい指定例

DEFINE
{
  const integer OK_END = 0;
  const integer NG_END = -1;      // 「;」を追加しました
  const integer sloop_max = 30;
}

<トークン>は予期しないものです。

要因

無効なキーワードまたはシンボル<トークン>が検出されました。

対処

予期されないキーワードまたはシンボルを削除してください。

例

誤った指定例

DEFINE
{
  integer OK_END = 0;
  integer sloop_max = 0;;      // 「;」が二つ指定されています
}

変数「sloop_max」に「;」が二つ指定されています。

正しい指定例

DEFINE
{
  integer OK_END = 0;
  integer sloop_max = 0;      // 「;」を削除しました
}

変数「sloop_max」の「;」を一つ削除しました。

関数名を識別子名として使用しています。

要因

関数名は識別子として使用できません。

対処

識別子名を変更してください。

例

誤った指定例

DEFINE
{
  integer AIT_LogMessage = 10;
}

変数名に関数名が使用されています。

正しい指定例

DEFINE
{
  integer AIT_LogMessageNumber = 10;
}

変数名を「AIT_LogMessageNumber」に変更しました。

階層数が255を超えています。

要因

AITファイル内で構造体の階層レベルが最大値の255を超えています。

対処

if，if-else，do-while，whileまたはswitch構造体の階層レベルが最大値の255を超えると，AITファイルの解析ができなくなります。AITファイルを再編集し，構造体の階層レベルのネストを浅くしてください。

識別子名が64文字を超えています。

要因

各識別子名に使用できる最大文字数は64です。この最大文字数を超える識別子名がAITファイルに存在します。

対処

識別子名は1～64文字で指定してください。

例

誤った指定例

DEFINE
{
  integer sloop_max = 0;
  integer sample123456sample123456sample123456sample123456sample123456sample = 0;      // 66文字で変数名が指定されています
}

2番目に定義した変数名が最大文字数を超えています。

正しい指定例

DEFINE
{
  integer sloop_max = 0;
  integer sample123456 = 0;   // 64文字以内で変数名を指定しました
}

2番目に定義した変数名を最大文字数内で指定しました。

文字列定数が複数列にわたっています。

要因

最初の行が¥nで終わっているため，文字列定数が2行目に続いています。

対処

文字列定数は1行で指定してください。

例

誤った指定例

DEFINE
{
  integer sloop_max = 0;
  string SoftwareName = " My
                              Setup";      // 文字列定数が2行目に続いています
}

変数「SoftwareName」の文字列定数が2行目に続いています。

正しい指定例

DEFINE
{
  integer sloop_max = 0;
  string SoftwareName = " My Setup";   // 文字列定数を1行で指定しました
}

変数「SoftwareName」の文字列定数を1行で指定しました。

エスケープシーケンスの使用方法が誤っています。

要因

実行時に指定されたAITファイルの文字列定数に，誤ったエスケープシーケンスが含まれています。

対処

文字列定数には，正しいエスケープシーケンスを使用してください。

例

誤った指定例

DEFINE
{
  integer sloop_max = 0;
  string str1 = "sample'
                 testing";
}

文字列変数「strl」は「'」付きの文字列が代入されていますが，その文字列が複数行にわたって記述されています。

文字列が連続していることを示す文字「_」を「'」の代わりに使用する必要があります。

正しい指定例

DEFINE
{
  integer sloop_max=10;
  string str1 = "sample_
                 testing";
}

「'」を削除してエスケープシーケンスの誤りを修正しました。

case内で識別子は使用できません。

要因

case内で識別子を指定しています。

対処

case内では，定数またはマクロだけを使用してください。

例

誤った指定例

DEFINE
{
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  switch (FileVersion)
     case stMsgText:      // caseに識別子が指定されています
        ...
        break;
     default:
        ...
        break;
  endswitch;
}

case内に，識別子「stMsgText」が指定されています。

正しい指定例

DEFINE
{
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  switch (FileVersion)
     case "7.1":      // 識別子の代わりに文字列定数を指定しました
        ...
        break;
     default:
        ...
        break;
  endswitch;
}

case内に，識別子「stMsgText」の代わりに文字列定数を指定しました。

"+" または "-"の使用方法が誤っています。

要因

AITファイルで，「++」，「--」，「+-」，または「-+」演算子が指定されています。AITファイルの解析では，これらの演算子を解析できません。

対処

「++」，「--」，「+-」，または「-+」演算子をAITファイルから削除してください。

例

誤った指定例

DEFINE
{
  integer sloop_count = 0;
}
MAIN
{
  if (AIT_FileExists("#setup.exe") == 0)
     ...
     ...
     sloop_count++;      // 誤った演算子「++」が変数の増分に使用されています
  endif;
}

インクリメント演算子とディクリメント演算子は使用できません。

変数「sloop_count」が「++」で増分されているため，エラーメッセージが表示されます。

正しい指定例

DEFINE
{
  integer sloop_count = 0;
}
MAIN
{
  if (AIT_FileExists("#setup.exe") == 0)
     ...
     ...
     sloop_count = sloop_count + 1;      // 「++」を削除しました
  endif;
}

「++」を変数「sloop_count」から削除しました。

AITファイルが65535行を超えています。

要因

AITファイル内の最大行数は65,535です。AITファイルがこの最大値を超えると，AITファイルの解析を停止します。

対処

AITファイル内の行数を減らしてください。

<識別子> : 定義されていない識別子です。

要因

変数の型を定義しないで変数が指定されています。

対処

DEFINEセクションで変数を定義してください。

例

誤った指定例

DEFINE
{
  string stMsgText;
}
MAIN
{
  if (AIT_FileExists("#setup.exe") == 0)
     stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
     AIT_LogMessage(stMsgText);
     sloop_max = 0;      // この変数はDEFINEセクションで定義されていません
  endif;
}

DEFINEセクションで変数「sloop_max」が定義されていないまま，MAINセクションでこの変数が指定されています。

正しい指定例

DEFINE
{
  string  stMsgText;
  integer sloop_max;      // 変数「sloop_max」を定義しました

}
MAIN
{
  if (AIT_FileExists("#setup.exe") == 0)
     stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
     AIT_LogMessage(stMsgText);
     sloop_max = 0;      // 定義した変数を利用しました
  endif;
}

変数「sloop_max」がDEFINEセクションで定義され，その変数がMAINセクションで指定されました。

<識別子> : 再定義されました。

要因

すでに識別子が定義されている場合に，それと同じ識別子が再定義されています。

対処

再定義されている変数を削除してください。

例

誤った指定例

DEFINE
{
  integer sloop_max = 10;
  string sloop_max = "sample";      // 変数「sloop_max」がstring型として再定義されています。
}

すでにinteger型として定義されている変数「sloop_max」が，string型変数として再定義されています。

正しい指定例

DEFINE
{
  integer sloop_max = 10;
  string stMsgText = "sample";      // 変数名を変更しました
}

変数「sloop_max」の再定義を削除し，異なる変数名を定義しました。

パッケージ情報のフィールド <パッケージ項目>のデータ<値>が誤っています。

要因

PACKAGE_INFOセクション内のパッケージ項目のどれかに無効な値が含まれています。

対処

パッケージ情報のフィールドに適した値を指定してください。

例

誤った指定例

PACKAGE_INFO
{
  PackageID = "#$@#ADOBEACROBATREADER";      // PackageIDに無効な文字#$@#が含まれています
  Product = "Adobe Acrobat Reader 5.05";
  Version = "505";
  InstallerName = "Ar505jpn.exe";
  InstallDrive = "C:";
  InstallDirectory = "'¥Program Files'¥Adobe";
}    

PACKAGE_INFOセクションのPackageIDに，使用できない文字列「#$@」が含まれています。

正しい指定例

PACKAGE_INFO
{
  PackageID = "ACROBAT-READER";   // 使用できない文字 #$@#を削除しました
  Product = "Adobe Acrobat Reader 5.05";
  Version = "505";
  InstallerName = "Ar505jpn.exe";
  InstallDrive = "C:";
  InstallDirectory = "'¥Program Files'¥Adobe";
}

PACKAGE_INFOセクションのPackageIDから，使用できない文字列「#$@」を削除しました。

左辺値はconstオブジェクトに指定されています。

要因

constant型として定義された変数にMAINセクションで値が割り当てられています。

対処

constant定義を変更するか，割り当てた左辺を削除してください。

例

誤った指定例

DEFINE
{
  const float SLEEP_TIME = 2.0;
  integer sloop_count;
}
MAIN
{
  if (AIT_FocusWindow("Setup", "#32770",0.0) > 0)
     AIT_PlayKey("{Enter}");
     AIT_LogMessage("Setup: Enter");
     sloop_count = 0;
     SLEEP_TIME = 3.0;      // 変数「SLEEP_TIME」のconstant値を変更しようとしています
     AIT_Sleep(SLEEP_TIME);
  endif;
}

変数「SLEEP_TIME」は，constant float型として定義されていますが，MAINセクション内で別の値が割り当てられました。

正しい指定例

DEFINE
{
  const float SLEEP_TIME = 3.0;
  integer sloop_cnt;
}

MAIN
{
  if (AIT_FocusWindow("Setup", "#32770",0.0) > 0)
     AIT_PlayKey("{Enter}");
     AIT_LogMessage("Setup : Enter");
     sloop_cnt = 0;
     AIT_Sleep(SLEEP_TIME);
  endif;
}

MAINセクション内で，変数「SLEEP_TIME」のconstant float値への割り当てを削除しました。

AITファイルの構文誤りによって，AITファイルの解析が異常終了しました。

要因

文法チェック中に致命的なエラー（文字列の終了処理が正しくない，変数名内の文字数が正しく指定されていない）が発生しています。

対処

エラー個所を修正したあと，AITファイルを再度確認してください。

例

誤った指定例

DEFINE
{
  string ErrorTxt = "ABC
def";
}

文字列定数は，複数の行にわたって指定できませんが，文字列が複数の行にわたって指定されています。

正しい指定例

DEFINE
{
  string ErrorTxt = "ABC_
def";      // 「_」で文字列が連続していることを示しています。
}

文字列の連続を示す「_」を付けて指定しました。

除算の2番目のオペランドは0です。

要因

AITファイルの解析時に除算の2番目のオペランドが0のため，未定義として扱われています。

対処

0以外の値を除数として指定してください。

例

誤った指定例

DEFINE
{
  integer sloop_count = 0;
  const integer  sloop_max = 30;
}  
MAIN
{
  sloop_count = sloop_max / 0;      // 除数が0であるため，エラーになります
}

0による除算はできませんが，変数「sloop_max」を0で除算しています。

正しい指定例

DEFINE
{
  integer sloop_count = 0;
  const integer sloop_max = 30;
}  
MAIN
{
  sloop_count = sloop_max / 1;      // 除数が0以外の値に変更しました
}

0による変数「sloop_max」の除算を削除しました。

<データ型1>と<データ型2>は<処理名>と互換性がありません。

要因

演算子の左辺値と右辺値で互換性のないデータ型が指定されています。例えば，string型とinteger型が比較に使用された場合，このメッセージが表示されます。

対処

演算子の左辺値と右辺値の両方で互換性のあるデータ型を指定してください。

例

誤った指定例

DEFINE
{
  const integer ExeVersion = 7;
  const string FileVersion = "7";
}
MAIN
{
  if (ExeVersion == FileVersion)   // string型とinteger型が比較に使用されています
     ...
     ...
  endif;
}

integer型変数「ExeVersion」とstring型変数「FileVersion」が比較に使用されています。

string型とinteger型には，比較演算のための互換性がありません。

正しい指定例

DEFINE
{
  const integer ExeVersion = 7;
  const integer FileVersion = 7;
}
MAIN
{
  if (ExeVersion == FileVersion)      // 同じ型を比較に使用しました
     ...
     ...
  endif;
}

string型変数「FileVersion」をinteger型変数に変更し，integer型変数との比較に変更しました。

オペレーション<演算子名>で<データ型1>の使用方法が誤っています。

要因

演算で不適切なデータ型が指定されています。例えば，float型が剰余（%）演算に使用された場合や，string型が!演算に使用された場合，このメッセージが表示されます。

対処

各演算で使用できるデータ型を指定してください。

例

誤った指定例

DEFINE
{
  float SLEEP_TIME = 7.1;
}
MAIN
{
  SLEEP_TIME = SLEEP_TIME % 2;      // floatは剰余演算で使用できないため，エラーになります
}

float型は剰余演算に使用できませんが，float型変数「SLEEP_TIME」が剰余演算に使用されています。

正しい指定例

DEFINE
{
  integer SLEEP_TIME = 7;
}
MAIN
{
  SLEEP_TIME = SLEEP_TIME % 2;      // integer型変数を剰余演算に使用しました
}

integer値を剰余演算に使用しました。

integer値は'-2147483648'～'2147483647'の範囲で指定してください。

要因

許容範囲外のinteger値が指定されています。

対処

'-2,147,483,648'～'2,147,483,647'でinteger値を指定してください。

例

誤った指定例

DEFINE
{
  const integer OK_END = 21474836476;      // integer値が最大値を超えています
}

変数「OK_END」に最大値よりも大きいinteger値が指定されています。

正しい指定例

DEFINE
{
  const integer OK_END =214748364;      // integer値の範囲内で指定しました
}

変数「OK_END」にinteger値の範囲内の値を指定しました。

float値は'3.402823466e+38'～'1.175494351e-38'の範囲で指定してください。

要因

許容範囲外のfloat値が指定されています。

対処

'3.402823466e+38'～'1.175494351e-38'でfloat値を指定してください。

例

誤った指定例

DEFINE
{
  const float NG_END = 3.402823466e+40;      // float値が最大値を超えています
}

変数「NG_END」に最大値よりも大きいfloat値が指定されています。

正しい指定例

DEFINE
{
  const float NG_END = 3.402823466e+10;      // float値の範囲内で指定しました
}

変数「NG_END」にfloat値の範囲内の値を指定しました。

switch式の求める数値のデータ型が誤っています。

要因

caseラベル値のデータ型がswitchステートメントのcaseのデータ型と一致していません。例えば，switchステートメントがinteger型の場合にcase値にfloat値が含まれていると，このメッセージが表示されます。

対処

switchステートメントとcaseラベル値で一致するデータ型を指定してください。

例

誤った指定例

DEFINE
{
  const string FileVersion = "7.1";
  integer sloop_max = 0;
}
MAIN
{
  switch (FileVersion)   // switchステートメントはstring型です
      case 7.1:      // caseにinteger値が指定されています
        ...
        ...
        break;
     default:
        ...
        ...
        break;
  endswitch;
}

switchステートメントのデータ型はstring型ですが，case値はinteger型になっています。

正しい指定例

DEFINE
{
  const string FileVersion = "7.1";
  integer sloop_max = 0;
}
MAIN
{
  switch (FileVersion)
     case "7.1":    // caseラベルにstring値を指定しました
        ...
        ...
        break;
     default:
        ...
        ...
        break;
  endswitch;
}

case値にstring型を指定し，switch文のデータ型と一致するよう変更しました。

コメントで予期しないEOFが検出されました。

要因

「/*」で開始されたコメントがファイルの終わりまでに「*/」で終了されていません。

対処

ファイルの終わりまでに，コメントを閉じる「*/」を指定してください。

例

誤った指定例

DEFINE
{
  /* AITファイルで使用するデータ型   // コメントが閉じられていません
  const integer NG_END = -1
  const integer sloop_max = 30;
}

コメントはすべて閉じる必要があります。この例では，「/*」でコメントが開始されていますが，「*/」で終了されていません。

正しい指定例

DEFINE
{
  /* AITファイルで使用するデータ型 */   // コメントが終了されています
  const integer NG_END = -1;
  const integer sloop_max = 30;
}

コメントが「*/」で終了されました。

<文字コード（16進数）>は不正な文字です。

要因

AIT言語仕様で規定されていない文字が存在します。文字コードが16進数で表示されます。

対処

AIT言語仕様に記載されている有効な文字だけを指定してください。

例

誤った指定例

DEFINE
{
  const integer OK_END = 0;
  const integer NG_END = -1;
  const integer sloop_max = #30;      // 無効な文字「#」があります
}

「#$@」といった無効な文字は，文字列定数内で使用できませんが，「#」が変数「sloop_max」に含まれています。

正しい指定例

DEFINE
{
  const integer OK_END =0;
  const integer NG_END = -1;
  const integer sloop_max = 30;    // 無効な文字「#」を削除しました
}

「#」を変数「sloop_max」から削除しました。

式の中ではvoid型を使用できません。有効な型を使用してください。

要因

voidを返す関数が式で使用されています。

対処

voidを返す関数は式で使用しないでください。

caseの値<caseラベル値>はすでに使われています。

要因

switchステートメントで同じcase値が複数回使用されています。

対処

固有のcaseラベル値を指定してください。

例

誤った指定例

DEFINE
{
  const string FileVersion = "7.1";
  string stMsgText;
}  
MAIN
{
  switch(FileVersion )
     case "7.1":
        ...
        ...
        break;
     case "7.1":      // case値"7.1"はすでに使用されています
        ...
        ...
        break;
     default:
        ...
        ...
        break;
  endswitch;
}

switchステートメント内で固有のcaseラベル値を指定する必要があります。

ここで，2番目のcaseラベル値"7.1"は最初のcaseラベル値と同じです。

正しい指定例

DEFINE
{
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  switch(FileVersion )
     case "7.1":      // 重複するcase値"7.1"を削除しました
        ...
        ...
        break;
     default:
        ...
        ...
        break;
  endswitch;
}

2番目のcaseラベル値を削除しました。

<関数名> : 関数名が誤っています。

要因

無効な関数名（使用できるAPI一覧にない関数名）が指定されています。

対処

AITファイルで有効な関数名を指定してください。有効な関数（API名）の一覧は，「4.1　API一覧」を参照してください。

例

誤った指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion)
     if (AIT_FileExists1("#setup.exe") == 0)      // 「AIT_FileExists1」は使用できるAPIではありません
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
     endif;
  endif;
}

「AIT_FileExists1()」は使用できるAPIではありません。

正しい指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  string stMsgText;
}  
MAIN
{
  if (ExeVersion == FileVersion)
     if (AIT_FileExists("setup.exe") == 0)      // 使用できるAPIを指定しました
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
     endif;
  endif;
}

使用できるAPIとして「AIT_FileExists()」を指定しました。

<関数名> : 引数<指定されている引数の数>を取得できません。

要因

引数の数に誤りのある関数が含まれています。

関数にはそれぞれ独自の引数のセットがあります。関数に対して指定された引数の数が，実際に呼び出させる関数の引数の数と一致しないと，このメッセージが呼び出されます。

対処

関数に対して正しい数の引数を指定してください。実際の引数のリストについては，「4.2　APIの詳細」を参照してください。

例

誤った指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  string stMsgText;
}  
MAIN
{
  if (ExeVersion == FileVersion)
     if (AIT_FileExists() == 0)      // 「AIT_FileExists」に引数が指定されていません
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
     endif;
  endif;
}

「AIT_FileExists()」に対しては，一つ以上の引数を指定してください。この例では「AIT_FileExists()」に対して引数が指定されていません。

正しい指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion)
     if (AIT_FileExists("#setup.exe") == 0)
     // 「AIT_FileExists」に対して引数を指定しました
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
     endif;
  endif;
}

「AIT_FileExists()」に対して引数を指定しました。

関数に指定された一つまたは複数の変数のデータ型が誤っています。

要因

引数のデータ型と一致しないデータ型が関数に含まれています。

関数にはそれぞれ独自の引数のセットがあります。関数に対して指定された引数のデータ型が，実際に呼び出させる関数の引数のデータ型と一致しないと，このメッセージが呼び出されます。

対処

関数の引数で正しいデータ型を指定してください。実際の引数のリストについては，「4.2　APIの詳細」を参照してください。

例

誤った指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion )
     if (AIT_FileExists("#setup.exe") == 0)
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
        AIT_Sleep(3);      // integer値が「AIT_Sleep」に指定されています
     endif;
  endif;
}

「AIT_Sleep()」には，float型の引数だけが指定できますが，integer値が引数として指定されています。

正しい指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string  FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  if (ExeVersion == Version)
     if (AIT_FileExists("#setup.exe") == 0)
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
        AIT_Sleep(3.1);      // integer値をfloat値に変更しました
     endif;
  endif;
}

「AIT_Sleep()」の引数をintegerからfloatに変更しました。

<ラベル名> : 定義されていないラベルです。

要因

ラベルを定義しないでgotoステートメントが使用されています。

AITファイルでは，各gotoステートメントに対して関連するラベルを定義する必要があります。

対処

すべてのgotoステートメントに対して関連ラベル名を指定してください。

例

誤った指定例

DEFINE
{
  integer sloop_max = 0;
}
MAIN
{
  goto ErrorLabel; // ラベル「ErrorLabel」が定義されていません
  sloop_max = 0;
}

gotoステートメントに対して，関連するラベルステートメントを指定する必要があります。

ここでは，goto ErrorLabelしか指定されていません。ラベル「ErrorLabel」はMAINセクションのどこにも定義されていません。

正しい指定例

DEFINE
{
  integer sloop_max = 0;
}
MAIN
{
  goto ErrorLabel;
  sloop_max = 0;
ErrorLabel:      // ラベルを定義しました
}

gotoステートメントに対してラベル「ErrorLabel」を指定しました。

gotoのラベル<ラベル名>は別のセクションにあります。

要因

指定されたラベル名とそれに対応するgotoステートメントが別のセクションに存在します。

gotoステートメントとそれに関連するラベルは，同じセクション内にある必要があります。

対処

ラベル名とgotoステートメントは同じセクション内で指定してください。

例

誤った指定例

DEFINE
{
  string stMsgText;
}
MAIN
{
  goto ErrorLabel;      // gotoステートメントがMAINセクションで定義されています
}
ERROR
{
ErrorLabel:      // ラベルがERRORセクションで定義されています
     stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
}

ラベルとそのgotoステートメントは，同じセクション内で定義する必要があります。この例では，gotoステートメントがMAINセクション内にあり，ラベル「ErrorLabel」がERRORセクション内にあります。

正しい指定例

DEFINE
{
  string stMsgText;
}
MAIN
{
     goto ErrorLabel;
ErrorLabel:      // ラベルがMAINセクション内で定義されています
     stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
}

ラベル「ErrorLabel」とそのgotoステートメントをMAINセクション内で定義しました。

変数の設定値の型が誤っています。

要因

変数に対して指定された値が変数のデータ型と異なります。例えば，string値がinteger型変数に割り当てられると，このメッセージが呼び出されます。

対処

変数と同じ型の値を指定してください。

例

誤った指定例

DEFINE
{
  const integer OK_END =0;
  const integer NG_END = -1;
  const integer sloop_max = "30";      // string値がinteger型変数に割り当てられています
}

この例では，文字列定数が整数定数「sloop_max」に割り当てられています。

正しい指定例

DEFINE
{
  const integer OK_END =0;
  const integer NG_END = -1;
  const integer sloop_max = 30;      // string値でなくinteger値を割り当てました
}

文字列定数を削除し，integer値の変数「sloop_max」を割り当てました。

breakの使用方法が誤っています。

要因

do-while，while-loop，for-next，またはswitchステートメント以外でbreakステートメントが使用されています。breakステートメントはループ構造体内だけで有効です。

対処

breakステートメントは，do-while，while-loop，for-next，またはswitchステートメント内で使用してください。

例

誤った指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion )
     if (AIT_FileExists("#setup.exe") == 0)
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);      
        break;      // breakステートメントがifステートメント内にあります
     endif;
  endif;
}

この例では，breakステートメントがif構造体内にあります。

正しい指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string  FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion)
     if (AIT_FileExists("#setup.exe") == 0)
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
     endif;
  endif;
}

breakステートメントをif構造体から削除しました。

continueの使用方法が誤っています。

要因

do-while，while-loop，またはfor-next以外でcontinueステートメントが使用されています。continueステートメントは，ループ構造体内だけで有効です。

対処

continueステートメントは，do-while，while-loop，またはfor-nextステートメント内だけで使用してください。

例

誤った指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion)
     if (AIT_FileExists("#setup.exe") == 0)
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
        continue;      // continueステートメントがifステートメント内にあります
     endif;
  endif;
}

この例では，continueがif構造体内にあります。

正しい指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string  FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion)
     if (AIT_FileExists("#setup.exe") == 0)
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
     endif;
  endif;
}

continueステートメントをif構造体から削除しました。

'<ループ構造体>'が255 breakステートメントを超えました。

要因

255より多くのbreakステートメントがループ構造体内にあります。ループ構造体（do-while，while，for-nextまたはswitch構造体）内で使用できるbreakステートメントの最大数は255です。

対処

ループ構造体内で指定するbreakステートメントの数を，最大数以下にしてください。

'<ループ構造体>'が255 continueステートメントを超えました。

要因

255より多くのcontinueステートメントがループ構造体内にあります。ループ構造体（do-while，while，for-next）内で使用できるcontinueステートメントの最大数は255です。

対処

ループ構造体内で指定するcontinueステートメントの数を，最大数以下にしてください。

switchステートメントのcaseラベル数が255を超えています。

要因

255より多くのcaseラベルがswitchステートメント内にあります。switchステートメント内で使用できるcaseラベルの最大数は255です。

対処

switchステートメント内で指定するcaseラベルの数は，最大数以下にしてください。

switchステートメントに一つ以上のdefaultラベルは使用できません。

要因

switchステートメント内で使用できるdefaultステートメントは一つだけです。

対処

switchステートメント内で指定するdefaultステートメントは一つだけにしてください。

例

誤った指定例

DEFINE
{
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  switch(FileVersion )
     case "7.1":
        ...
        ...
        break;
     default:      // 最初のdefaultです
        ...
        ...
        break;
     default:      // defaultが二つ指定されています
        ...
        ...
        break;
  endswitch;
}

各switchステートメントで指定できるdefaultステートメントは一つだけです。この例では，switchステートメントにdefaultステートメントが二つ指定されています。

正しい指定例

DEFINE
{
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  switch(FileVersion)
     case "7.1":
        ...
        ...
        break;
     default:      // defaultを一つだけ指定しました
        ...
        ...
        break;
  endswitch;
}

switchステートメントからdefaultステートメントを一つ削除しました。

パッケージ情報に必要なフィールド'<フィールド名>'が見つかりません。

要因

PACKAGE_INFOセクションで指定する必要のあるフィールドのうち，どれかが指定されていません。

対処

PACKAGE_INFOセクションで必要なすべてのフィールドを指定してください。

例

誤った指定例

PACKAGE_INFO
{
  // 指定する必要のあるPackageIDが欠けています
  Product = "Adobe Acrobat Reader 5.05";
  Version = "505";
  InstallerName = "Ar505jpn.exe";
  InstallDrive = "C:";
  InstallDirectory = "'¥Program Files'¥Adobe";
}

指定する必要のあるPackageIDが指定されていません。

正しい指定例

PACKAGE_INFO
{
  PackageID = "ADOBEACROBATREADER";   // 指定する必要のあるパッケージ項目を指定しました
  Product = "Adobe Acrobat Reader 5.05";
  Version = "505";
  InstallerName = "Ar505jpn.exe";
  InstallDrive = "C:";
  InstallDirectory = "'¥Program Files'¥Adobe";
}

PackageIDをPACKAGE_INFOセクション内に追加しました。

演算子'+','-'と'!'は，文字列定数で使用できません。

要因

単項演算子と文字列定数が一緒に指定されています。

対処

単項演算子と文字列定数は一緒に指定しないでください。

例

誤った指定例

DEFINE
{
  const integer OK_END =0;
  const integer NG_END = -1;
  const string szMsgText = !"30";  // 「!」を文字列定数に使用しました
}

DEFINEセクションで文字列定数を初期化する際，単項演算子（「+」，「-」，および「!」）は使用できません。

ここでは，変数「szMsgText」で，「!」が文字列定数と一緒に指定されています。

正しい指定例

DEFINE
{
  const integer OK_END =0;
  const integer NG_END = -1;
  const string szMsgText = "30";      // 「!」を削除しました
}

「!」を変数「szMsgText」から削除しました。

式内でラベルの使用方法が誤っています。

要因

ラベルが式内で使用されています。

対処

ラベルは式内で使用しないでください。

例

誤った指定例

DEFINE
{
  integer sloop_max = 0;
}
MAIN
{
ErrorLabel:
  if (ErrorLabel)      // if構造体内でラベル名が使用されています
     AIT_LogMessage("Setup(Japanese)For Windows-Start");
     if (AIT_FileExists("#setup.exe") == 0)
        goto ErrorLabel;
        sloop_max = 0;
     endif;
  endif;
}

ラベルは式内で使用できません。この例では，ラベル「ErrorLabel」がif構造体内で指定されています。

正しい指定例

DEFINE
{
  integer sloop_max = 0;
  string stMsgText;
}
MAIN
{
  if(1)      // ラベルを式から削除しました
     if (AIT_FileExists("#setup.exe") == 0)
        goto ErrorLabel;
        sloop_max = 0;
     endif;
ErrorLabel:
     stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
     AIT_LogMessage(stMsgText);
  endif;
}

ラベル「ErrorLabel」をif構造体から削除し，式内の値を有効にしました。

case内で ""!"" 演算子は使用できません。

要因

caseラベル値に式が指定されています。switchステートメント内のcaseラベル値には定数値しか指定できません。

対処

caseラベル値内では式を指定しないでください。

例

誤った指定例

DEFINE
{
  const integer FileVersion = 7;
  string stMsgText;
}
MAIN
{
  switch (FileVersion)
     case 7:
        ...
        ...
        break;
     case 5 + 1:      // caseステートメント内では式を使用できません
        ...
        ...
        break;
     default:
        ...
        ...
        break;
  endswitch;
}

switchステートメント内では定数だけが指定できます。この例では，2番目のcaseラベルに加算演算式が指定されています。

正しい指定例

DEFINE
{
  const integer FileVersion = 7;
  string stMsgText;
}
MAIN
{
  switch (FileVersion)
     case 7:
        ...
        ...
        break;
     case 6:      // 式を削除し，定数を指定しました
        ...
        ...
        break;
     default:
        ...
        ...
        break;
  endswitch;
}

2番目のcaseステートメントから加算演算式を削除し，定数を指定しました。

AITファイルのバージョンと実行エンジンのDLLのバージョンが不一致です。

要因

AITファイルのバージョンが実行エンジンのDLLより新しいことが考えられます。

対処

AITファイルの実行時に，スクリプトエンジンのDLLのバージョンがPACKAGE_INFOセクションで示されているScriptFileVersionよりも新しいか確認してください。ScriptFileVersionは，DLLのバージョンよりも前である必要があります。

<ランクの高いデータ型>から<ランクの低いデータ型>に変換しました。データが失われている可能性があります。

要因

AITファイルで，ランクの低いデータ型にランクの高いデータ型を割り当てようとすると，値が切り捨てられ，それがランクの低いデータ型に割り当てられます。float型変数がinteger型変数に割り当てられた場合や，integer型変数に対して，float値を割り当てた場合が考えられます。

対処

ランクの高いデータ型を使用してください。

例

誤った指定例

DEFINE
{
  const integer OK_END = 0;
  const integer SLEEP_TIME = 3.8;      // float型変数を整数定数に割り当てようとしています。値は切り捨てられ，3だけが変数に保存されます。
}

ここでは，float値がinteger型変数「SLEEP_TIME」に割り当てられています。割り当てられた値は切り捨てられ，integer値だけが変数「SLEEP_TIME」に保存されます。

正しい指定例

DEFINE
{
  const integer OK_END =0;
  const float SLEEP_TIME = 3.8;      // 変数の型をfloat型に変更しました
}

float値を保持するために，変数「SLEEP_TIME」のデータ型をinteger型からfloat型に変更しました。

<処理>でbool型変数は指定できません。

要因

bool型変数を予期しない方法で指定すると，この警告が呼び出されます。例えば，bool型変数を除算演算や剰余演算（/，%）に指定すると，0による除算または0/0矛盾につながり，警告メッセージが呼び出されます。

対処

このような場合は，bool型変数を指定しないでください。

例

誤った指定例

DEFINE
{
  const integer sloop_max = 30;
  integer sloop_count;
  bool IsPathSet = false;
}
MAIN
{
  sloop_count = sloop_max / IsPathSet;      // bool型変数が除数として指定されています
}

bool型変数を使用すると，0による除算となり，この警告メッセージが表示されます。ここでは，bool型変数「IsPathSet」が除数として指定されているため，0による除算となります。

正しい指定例

DEFINE
{
  integer NG_END = 1;
  const integer sloop_max = 30;
  integer sloop_count;
}
MAIN
{
  sloop_count = sloop_max / NG_END;      // bool型変数を削除し，integer型変数を除数として指定しました
}

bool型変数「IsPathSet」を削除し，integer型変数「NG_END」を除数として指定しました。

演算子<演算子名>で<データ型1>と<データ型2>は混在できません。

要因

ビットの論理積や論理和などの演算の式で，integer型やbool型が混合して指定されています。

対処

式のオペランドでは一貫したデータ型を指定してください。

例

誤った指定例

DEFINE
{
  integer sloop_max = 0;
  bool IsPathSet;
}
MAIN
{
  sloop_max = sloop_max & IsPathSet;      // ビット演算の論理積に対してinteger型とbool型が指定されています
}

この例では，「&」演算に対してinteger型とbool型が指定され，データ型が混在しています。

正しい指定例

DEFINE
{
  integer sloop_max = 0;
  integer sloop_count;
}
MAIN
{
  sloop_max = sloop_max & sloop_count;      // ビット演算の論理積に対してinteger型とinteger型を指定しました
}

「&」演算に対して同じデータ型（integer型とinteger型）を指定しました。

switchステートメントにはdefaultラベルしかありません。

要因

switchステートメントでdefaultステートメントのcaseだけが指定されています。switchステートメントのcaseラベルが指定されていません。これは，ステートメントのシーケンスに相当します。

対処

switchステートメントで少なくとも一つのcaseラベルを指定してください。

例

誤った指定例

DEFINE
{
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  switch(FileVersion)
     default:      // switchステートメントにdefaultステートメントしか使用していません
        ...
        ...
        break;
  endswitch;
}

すべてのswitchステートメントに，一つ以上のcaseステートメントが必要ですが，この例では，caseステートメントがなくdefaultステートメントしか指定されていません。

正しい指定例

DEFINE
{
  const string FileVersion = "7.1";
  string stMsgText;
}
MAIN
{
  switch(Version )
     case "7.1":      // switchステートメントにcaseステートメントが含まれています
        ...
        ...
        break;
     default:
        ...
        ...
        break;
  endswitch;
}

switchステートメントにcaseステートメントを追加しました。

<ラベル名> : 定義されたラベルが使われていません。

要因

ラベルが定義されていますが，参照されていません。このラベルを無視します。

対処

ラベル名を参照するgotoステートメントを指定してください。

例

誤った指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  integer sloop_max = 0;
}
MAIN
{
  if (ExeVersion == FileVersion )
ErrorLabel:   // ラベルに関連するgotoステートメントがありません
     AIT_LogMessage("Setup(Japanese)For Windows-Start");
     if (AIT_FileExists("#setup.exe") == 0)
        sloop_max = 0;
     endif;
  endif;
}

ラベルには，対応するgotoステートメントが必要です。gotoステートメントなしでラベルステートメントを定義すると，そのラベルステートメントは無視されます。この例では，ラベル「ErrorLabel」がgotoステートメントなしで指定されています。

正しい指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  integer sloop_max = 0;
}
MAIN
{
  if (ExeVersion == FileVersion)
     AIT_LogMessage("Setup(Japanese)For Windows-Start");
     if (AIT_FileExists("#setup.exe") == 0)
        goto ErrorLabel;      // gotoステートメントを指定しました
        sloop_max = 0;
     endif;
ErrorLabel:      // ラベルが定義されています
     stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
     AIT_LogMessage(stMsgText);
  endif;
}

ラベル「ErrorLabel」に対応するgotoステートメントを指定しました。

なお，必要のないラベルステートメントを削除する対処方法もあります。

<変数名> : 定義された変数が使われていません。

要因

変数がDEFINEセクションで定義されていますが，参照されていません。

対処

不要な場合や使用しない場合は，変数の定義を削除してください。

例

誤った指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  integer sloop_max;      // この変数はプログラム内のどこからも参照されていません
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion)
     AIT_LogMessage("Setup(Japanese)For Windows-Start");
     if (AIT_FileExists("#setup.exe") == 0)
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
     endif;
  endif;
}

上の例で，変数「sloop_max」はDEFINEセクションで定義されていますが，MAINセクション内で使用されていません。

正しい指定例

DEFINE
{
  const string ExeVersion = "7.1";
  const string FileVersion = "7.1";
  integer sloop_max;
  string stMsgText;
}
MAIN
{
  if (ExeVersion == FileVersion)
     AIT_LogMessage("Setup(Japanese)For Windows-Start");
     if (AIT_FileExists("#setup.exe") == 0)
        sloop_max = 0;// ここで変数「sloop_max」が使用されています
        stMsgText = "Setup(Japanese) " + InstallerName + " Not Found";
        AIT_LogMessage(stMsgText);
     endif;
  endif;
}

変数「sloop_max」はMAINセクション内で使用しました。

なお，MAINセクションで必要のない変数はDEFINEセクションから削除する対処方法もあります。

付録

＜この付録の構成＞

付録A　メニュー一覧

付録B　JP1/NETM/DMで提供するAITファイル

付録C　PP識別情報ファイルの編集方法

付録D　レコーダファイルを使ったリモートインストール

付録E　Windows Installerに対応したソフトウェアのリモートインストール手順

付録F　各バージョンの変更内容

付録G　用語解説

付録A　メニュー一覧

［Automatic Installation Tool］ウィンドウのメニュー一覧を次の表に示します。

表A-1　［Automatic Installation Tool］ウィンドウのメニュー一覧

メニュー
機能
ショートカットキー

ファイル
新規作成
AITファイルを新規に作成します。
［Ctrl］+［N］

開く
既存のAITファイルを開きます。
［Ctrl］+［O］

閉じる
アクティブなAITファイルを閉じます。
－

上書き保存
アクティブなAITファイルを上書き保存します。
［Ctrl］+［S］

名前を付けて保存
アクティブなAITファイルに新しいファイル名を付けて保存します。
－

すべて保存
ウィンドウ上の，変更が加えられたすべてのAITファイルを保存します。
－

印刷
アクティブなAITファイルを印刷します。
［Ctrl］+［P］

印刷プレビュー
アクティブなAITファイルの印刷イメージを表示します。
－

印刷設定
［プリンタの設定］ダイアログボックスを表示します。プリンタの設定を変更できます。
－

最近使ったファイル
最近使ったファイルをリストから選択して表示します。
－

終了
Automatic Installation Toolを終了します。
［Alt］+［F4］

編集
元に戻す
直前の編集操作を取り消します。
［Ctrl］+［Z］

やり直し
取り消した直前の編集操作をやり直します。
［Ctrl］+［Y］

切り取り
文字列を切り取ってクリップボードに貼り付けます。
［Ctrl］+［X］

コピー
文字列をコピーしてクリップボードに貼り付けます。
［Ctrl］+［C］

貼り付け
クリップボードの文字列を貼り付けます。
［Ctrl］+［V］

削除
選択した文字列を削除します。
［Delete］

すべて選択
AITファイル全体を選択します。
［Ctrl］+［A］

検索
［検索］ダイアログボックスを表示します。指定した文字列を検索します。
［Ctrl］+［F］

次を検索
カーソル位置から，後方に対して文字列の検索を続行します。
［F3］

前を検索
カーソル位置から，前方に対して文字列の検索を続行します。
［Shift］+［F3］

置換
［置換］ダイアログボックスを表示します。検索文字列を指定した文字列に置換します。検索文字列には正規表現を指定できます。
［Ctrl］+［H］

ジャンプ
［ジャンプ］ダイアログボックスを表示します。指定した行にカーソルを移動します。
［Ctrl］+［G］

表示
ツールバー
次に示すツールバーの表示/非表示を切り替えます。

［標準］ツールバー

［ビルド］ツールバー

［ユティリティ］ツールバー

また，［カスタマイズ］ダイアログボックスを表示し，ツールバーおよびコマンドの配置を設定できます。
－

ステータスバー
ステータスバーの表示/非表示を切り替えます。
－

アウトプット
アウトプットウィンドウを表示します。
［Alt］+［F2］

監視ウィンドウ
デバッグ中に，監視ウィンドウを表示します。
［Alt］+［F3］

ワークブック

ワークブックモード
アクティブファイルビュー時のワークブックモードの表示/非表示を切り替えます。

トグルアイコン
ワークブックモードビューでのファイルのワークブックタブアイコンの表示/非表示を切り替えます。

－

ビルド
文法チェック
アクティブなAITファイルの文法をチェックし，アウトプットウィンドウに警告とエラーを表示します。
［Ctrl］+［F7］

実行
アクティブなAITファイルの文法をチェックしたあと，実行を開始します。
［Ctrl］+［F5］

デバッグ
実行
現在のステートメントからブレークポイントまで，AITファイルを実行します。
［F5］

デバッグの中断
デバッグを終了し，通常の編集に戻ります。
［Shift］+［F5］

ステップオーバー
現在のステートメントから次のステートメントまでAITファイルを実行します。
［F10］

カーソル行の前まで実行
カーソルのある行の前まで，AITファイルを実行します。カーソル行に一時的なブレークポイントを設定した場合と同じです。
［Ctrl］+［F10］

ブレークポイントの追加／削除
指定した位置でブレークポイントを追加，削除できます。
［F9］

ブレークポイントの設定
［ブレークポイントの設定］ダイアログボックスを表示し，ブレークポイントを追加，削除できます。
［Alt］+［F9］または［Ctrl］+［B］

ツール
レコーダ
［レコーダ］ダイアログボックスを表示します。ユーザ操作をレコーディングし，AITファイルを自動生成します。
［Ctrl］+［R］

ウィンドウプロパティ
［ウィンドウプロパティ］ダイアログボックスを表示します。指定したウィンドウまたはコントロールの属性を取得します。
［Ctrl］+［W］

パッケージ情報
［パッケージ情報］ダイアログボックスを表示します。PACKAGE_INFOセクションを生成します。
［Ctrl］+［P］

オプション
［オプション］ダイアログボックスを表示します。
AITファイルの書式，文法チェック時のメッセージ表示数，レコーダのログ出力世代数などを設定できます。
［Ctrl］+［O］

カスタマイズ
［カスタマイズ］ダイアログボックスを表示します。ツールバーおよびコマンドの配置を設定できます。
［Ctrl］+［C］

ウィンドウ
新規ウィンドウ
新しいアクティブなAITファイルを開きます。
［Ctrl］+［N］

重ねて表示
開かれているすべてのウィンドウを重ねて表示します。
［Ctrl］+［C］

並べて表示
開かれているすべてのウィンドウを横に並べて表示します。
［Ctrl］+［T］

アイコンの整列
ウィンドウのアイコンを下段に整列します。
［Ctrl］+［A］

閉じる
アクティブなAITファイルを閉じます。
［Ctrl］+［O］

すべて閉じる
AITファイルをすべて閉じます。
［Ctrl］+［L］

ヘルプ
目次
Automatic Installation Toolガイドの目次を表示します。
［Ctrl］+［C］

バージョン情報
Automatic Installation Toolのバージョン情報を表示します。
［Ctrl］+［A］

（凡例）　－：該当なし

付録B　JP1/NETM/DMで提供するAITファイル

JP1/NETM/DMで提供するAITファイルの一覧を次の表に示します。

表B-1　JP1/NETM/DMで提供するAITファイル一覧

項番 | パッケージ名 | バージョン | パッケージ識別ID | パッケージ識別用ファイル名
1 | Windows 2000 Service Pack 3 | 3 | WINDOWS2000SERVICEPACK3 | W2Ksp3_jap.exe
2 | Windows 2000 Service Pack 4 | 4 | WINDOWS2000SERVICEPACK4 | W2KSP4_ja.EXE
3 | Windows XP Service Pack 1 | 1 | WINDOWSXPSERVICEPACK1 | xpsp1_ja_x86.exe
4 | Microsoft Office 2000 Premium※ | 2000 | MSOFFICE-2000-PREMIUM | APPLAUSE.WAV
5 | Internet Explorer 6.0 SP1 | 6 | INTERNETEXPLORER6 | Ie6setup.exe
6 | McAfee VirusScan 9.0 | 90 | MCAFEE-VIRUSSCAN | ediskimg.cab
7 | Norton AntiVirus 2003※ | 2003 | NORTON-ANTIVIRUS | NAV_2003.PDF
8 | Norton AntiVirus 2004※ | 2004 | NORTON-ANTIVIRUS | NAVU2004.PDF
9 | Norton AntiVirus 2005※ | 2005 | NORTON-ANTIVIRUS | NAV2005.PDF
10 | Adobe Acrobat Reader 5.05 | 505 | ADOBEACROBATREADER | Ar505jpn.exe
11 | Adobe Reader 6.01 | 601 | ADOBEREADER | AdbeRdr60_jpn_full.exe
12 | Microsoft Office XP Professional with FrontPage※ | 2002 | MSOFFICE-XP-PROFESSIONAL | OFREAD10.HTM
13 | Windows Installer 2.0 for Windows NT 4.0 and 2000 | 2 | WINDOWSINSTALLER20-NT | InstMsiW.exe
14 | Windows Installer 2.0 for Windows 98 and Me | 2 | WINDOWSINSTALLER20-98 | InstMsiA.exe
15 | Windows Script 5.6 for Windows 98 Me and NT 4.0 | 56 | WINDOWSSCRIPT56 | scr56jp.exe
16 | AIT-HIBUN-REG | 0100 | AIT-HIBUN-REG | HIBUNREG.BIN
17 | AIT-HIBUN-INSTCHK | 0100 | AIT-HIBUN-INSTCHK | HIBUNCHK.BIN
HIBUNCHK¥Setup.exe
HIBUNCHK¥Setup.ssc
18 | AIT-HIBUN-INST | 0100 | AIT-HIBUN-INST | HIBUNINS.BIN
HIBUNINS¥Setup.exe
HIBUNINS¥Setup.ssc
19 | AIT-HIBUN-LOG | 0100 | AIT-HIBUN-LOG | HIBUNLOG.BIN

注※　配布先のクライアントにWindows Installerのコンポーネントが必要です。

＜この節の構成＞

付録B.1　JP1/NETM/DMで提供するAITファイルの設定内容

付録B.2　JP1/NETM/DMで提供するAITファイルを使用する場合の注意事項

付録B.1　JP1/NETM/DMで提供するAITファイルの設定内容

JP1/NETM/DMで提供するAITファイルを使ったインストール時の，再起動の有無とオプションの設定内容を次に示します。

＜この項の構成＞

(1)　Windows 2000 Service Pack 3

(2)　Windows 2000 Service Pack 4

(3)　Windows XP Service Pack 1

(4)　Microsoft Office 2000 Premium

(5)　Internet Explorer 6.0 SP1

(6)　McAfee VirusScan 9.0

(7)　Norton AntiVirus 2003

(8)　Norton AntiVirus 2004

(9)　Norton AntiVirus 2005

(10)　Adobe Acrobat Reader 5.05

(11)　Adobe Reader 6.01

(12)　Microsoft Office XP Professional with FrontPage

(13)　Windows Installer 2.0 for Windows NT 4.0 and 2000

(14)　Windows Installer 2.0 for Windows 98 and Me

(15)　Windows Script 5.6 for Windows 98 Me and NT 4.0

(16)　AIT-HIBUN-REG

(17)　AIT-HIBUN-INSTCHK

(18)　AIT-HIBUN-INST

(19)　AIT-HIBUN-LOG

(1)　Windows 2000 Service Pack 3

再起動：なし

［ライセンス契約］ダイアログボックス：「同意します」を選択

［オプションの選択］ダイアログボックス：「ファイルをアーカイブする」を選択

［再起動］ダイアログボックス：「今再起動しない」を選択

(2)　Windows 2000 Service Pack 4

再起動：なし

［使用許諾契約］ダイアログボックス：「同意します」を選択

［オプションの選択］ダイアログボックス：「ファイルをアーカイブする」を選択

［再起動］ダイアログボックス：「今再起動しない」を選択

(3)　Windows XP Service Pack 1

再起動：なし

［ライセンス契約］ダイアログボックス：「同意します」を選択

［オプションの選択］ダイアログボックス：「ファイルをアーカイブする」を選択

［再起動］ダイアログボックス：「今再起動しない」を選択

(4)　Microsoft Office 2000 Premium

再起動：なし

［Officeメンテナンスモード］ダイアログボックス：「Officeの修復」を選択

［使用許諾とサポート情報］ダイアログボックス：「「使用許諾契約書」の条件に同意します」を選択

［インストールの準備］ダイアログボックス：「今すぐインストール」を選択

(5)　Internet Explorer 6.0 SP1

再起動：あり

［Internet Explorerとインターネットツールの開始］ダイアログボックス：「同意する」を選択

［Windows Update: Internet Explorerとインターネットツール］ダイアログボックス：「最小構成インストール，またブラウザのカスタマイズ」を選択

［コンポーネントのオプション］ダイアログボックス：「Internet Explorerをインストールするためのフォルダ」にパッケージ情報のインストール先を指定。また，「標準構成」を選択

(6)　McAfee VirusScan 9.0

再起動：なし

［使用許諾契約書］ダイアログボックス：「同意する」を選択

［VirusScan インストール ウィザード］ダイアログボックス：「VirusScanデスクトップ アイコンを作成」を選択

［世界ウィルス地図］ダイアログボックス：「はい，参加します。」を選択

(7)　Norton AntiVirus 2003

再起動：なし

［ライセンス契約書］ダイアログボックス：「ライセンス契約に同意します」を選択

［宛先フォルダ］ダイアログボックス：パッケージ情報のインストール先を設定

(8)　Norton AntiVirus 2004

再起動：なし

［ウイルススキャンしますか?］ダイアログボックス：「いいえ」を選択

［使用許諾契約］ダイアログボックス：「使用許諾契約に同意します」を選択

［インストール先フォルダを選択］ダイアログボックス：パッケージ情報のインストール先を設定

(9)　Norton AntiVirus 2005

再起動：なし

［ライセンス］ダイアログボックス：「使用許諾契約に同意します」を選択。また，［プロダクトキー］にパッケージ情報のシリアルナンバーを設定※

［インストール前のスキャン］ダイアログボックス：「スキャンを開始」を選択しない

［インストール先フォルダを選択］ダイアログボックス：パッケージ情報のインストール先を設定

注※　パッケージ情報のシリアルナンバーにはプロダクトキーを設定してください。

(10)　Adobe Acrobat Reader 5.05

再起動：なし

［インストール先の選択］ダイアログボックス：パッケージ情報のインストール先を設定

(11)　Adobe Reader 6.01

再起動：なし

［インストール先フォルダの変更］ダイアログボックス：パッケージ情報のインストール先を設定

(12)　Microsoft Office XP Professional with FrontPage

再起動：なし

［ユーザ情報］ダイアログボックス：「プロダクトキー」にパッケージ情報のシリアルナンバーを設定

［使用許諾契約書］ダイアログボックス：「「使用許諾契約書」の条項に同意します」を選択

［インストールの種類］ダイアログボックス：「今すぐインストール」を選択

［メンテナンスモードオプション］ダイアログボックス：「Officeの修復」を選択。また，「インストール先」にパッケージ情報のインストール先を設定

［Officeの再インストールまたは修復］ダイアログボックス：「Officeを再インストールします」を選択

(13)　Windows Installer 2.0 for Windows NT 4.0 and 2000

再起動：なし

(14)　Windows Installer 2.0 for Windows 98 and Me

再起動：なし

(15)　Windows Script 5.6 for Windows 98 Me and NT 4.0

再起動：なし

(16)　AIT-HIBUN-REG

再起動：なし

(17)　AIT-HIBUN-INSTCHK

再起動：なし

(18)　AIT-HIBUN-INST

再起動：なし

(19)　AIT-HIBUN-LOG

再起動：なし

［情報収集ツール］ダイアログボックス：「収集」を選択

［ツール実行確認］ダイアログボックス：「同意します」を選択

［情報収集ツール］ダイアログボックス：「OK」を選択

［情報収集ツール］ダイアログボックス：「キャンセル」を選択

付録B.2　JP1/NETM/DMで提供するAITファイルを使用する場合の注意事項

JP1/NETM/DMで提供するAITファイルを使用してパッケージングする場合，パッケージャに「パッケージ名」，「バージョン」，「パッケージ識別ID」，および「世代番号」が自動的に表示されます。

JP1/NETM/DMでAITファイルを提供していない製品をパッケージングした場合に，JP1/NETM/DMで提供されるAITファイルの情報が表示されるときは，次の手順で対処してください。

JP1/NETM/DMのインストール先ディレクトリ¥MASTER¥PPDEFAIT.DMPを別のフォルダにコピーする。

JP1/NETM/DMのインストール先ディレクトリ¥MASTER¥PPDEFAIT.DMPから，表示された情報の行を削除する。

再度パッケージングを実行する。

別のフォルダにコピーしたPPDEFAIT.DMPを，JP1/NETM/DMのインストール先ディレクトリ¥MASTER¥PPDEFAIT.DMPに上書きコピーする。

付録C　PP識別情報ファイルの編集方法

AITファイル作成時に生成されたPP識別情報ファイルは，JP1/NETM/DMのインストール先フォルダ¥DMPRMに，PPDEFAIT.DMPというファイル名で格納されます。生成されたPP識別情報ファイルを編集する場合は，ここで説明する形式に従って設定してください。

PP識別情報ファイルの形式は，次のとおりです。

情報マップ;パッケージ識別ID;バージョン;パッケージ名;AITファイルのフルパス;識別用ファイル名1;識別用ファイル名2;...;識別用ファイル名N;

PP識別情報ファイルには，1行に1ソフトウェアの定義を499バイト以内で記述します。ソフトウェアが複数ある場合は，複数行記述してください。各項目はセミコロン（;）で区切ります。各項目の詳細は次のとおりです。なお，PP識別情報ファイルで定義した「パッケージ識別ID」，「バージョン」，および「パッケージ名」は，パッケージング時に［JP1/NETM/DMパッケージング］ダイアログボックスに表示され，変更できません。

情報マップ（必ず記述）
000001を記述します。

パッケージ識別ID（必ず記述）
配布するソフトウェアのパッケージ識別IDです。AITファイルで指定したパッケージ識別IDを記述します。

バージョン（必ず記述）
配布するソフトウェアのバージョンです。AITファイルで指定したバージョンを記述します。

パッケージ名（必ず記述）
配布するソフトウェアのパッケージ名です。AITファイルで指定したパッケージ名を記述します。

AITファイルのフルパス（必ず記述）
AITファイルの完全なパス名を，ドライブ名も含めて記述します。256バイト以内で指定してください。全角文字は使用できません。

識別用ファイル名1～N（必ず記述）
配布するソフトウェアをユニークに識別できるファイル名を記述します。パッケージング時に，このファイルが存在すると，配布するソフトウェアであると判断されます。複数のファイルを記述した場合は，すべてのファイルが存在するとき，配布するソフトウェアであると判断されます。

AITファイル「AR505.ais」が「C:¥ADOBE」にある場合の，PP識別情報ファイルの例を次に示します。

000001;ADOBEACROBATREADER;505;Adobe Acrobat Reader 5.05;C:¥ADOBE¥AR505.ais;Ar505jpn.exe;

付録D　レコーダファイルを使ったリモートインストール

レコーダファイルとは，JP1/NETM/DMを使用してソフトウェアを配布する際に，ソフトウェアのインストーラに自動応答するスクリプトのことです。したがって，レコーダファイルを使うとクライアントユーザの手を煩わせることなくソフトウェアをインストールできます。

レコーダファイルを標準で用意していないソフトウェアや，GUIでインストールするユーザ作成のプログラムをリモートインストールする場合に，レコーダファイルおよび関連するファイルを作成してインストールする方法を次に示します。

＜この節の構成＞

付録D.1　レコーダファイルを使ったリモートインストールの概要

付録D.2　レコーダファイルの作成手順

付録D.3　レコーダファイルの完成例

付録D.4　関連ファイルの作成手順

付録D.5　レコーダファイル作成後の確認

付録D.6　JP1/NETM/DMで提供するレコーダファイル

付録D.1　レコーダファイルを使ったリモートインストールの概要

＜この項の構成＞

(1)　レコーダファイルを使ったリモートインストールの流れ

(2)　レコーダファイルおよび関連ファイルの作成

(3)　作成したファイルの格納

(4)　パッケージング

(5)　リモートインストールの実行

(1)　レコーダファイルを使ったリモートインストールの流れ

レコーダファイルを使ったリモートインストールの流れを次の図に示します。

図D-1　レコーダファイルを使ったリモートインストールの流れ

(2)　レコーダファイルおよび関連ファイルの作成

リモートインストールするソフトウェアのインストール手順を調査してレコーダファイルを作成します。また，関連ファイルも必要に応じて作成してください。

レコーダファイルの関連ファイルには，レコーダファイル本体のほか，「インストール定義ファイル」，「PP識別情報ファイル」があります。関連ファイルの役割を次に示します。

インストール定義ファイル

他社ソフトウェアをリモートインストールする場合に必要な詳細情報（所有者名，インストール先ディレクトリなど）を定義します。その定義内容は，パッケージング時に表示されるので，ユーザが変更することもできます。

PP識別情報ファイル

JP1/NETM/DMに対応する他社ソフトウェアであることを示すためのファイルです。パッケージャが，パッケージング時にソフトウェアを自動的に認識するために使用します。

各ファイルの作成方法については，「付録D.4　関連ファイルの作成手順」を参照してください。

(3)　作成したファイルの格納

レコーダファイルを使ったパッケージのパッケージングには，作成したファイルを所定の場所に格納します。

インストール定義ファイル（INSTABL.DEF）とPP識別ファイル（PPDEF.DMP）の格納場所は固定です。レコーダファイル（.PCDまたは.PC6）については任意の場所に格納できます。

各ファイルの格納先については，「付録D.2(4)　レコーダファイルをパッケージャに組み込む」を参照してください。

(4)　パッケージング

レコーダファイルとその関連ファイルを格納後，配布するソフトウェアをパッケージャからパッケージングします。パッケージング時には，「パッケージ名」などのパッケージ情報や「インストールタイミング」などのインストール時のオプションを指定できます。なお，「インストール定義ファイル」で定義した内容は，デフォルトで表示されます。

パッケージングの方法の詳細については，マニュアル「運用ガイド1」の「2.1　パッケージングの方法」を参照してください。

(a)　レコーダファイルの監視時間の設定

レコーダファイルを使用したリモートインストール処理では，インストール中にユーザがダイアログボックスに応答したり，キーボードやマウスを操作したりすると，その時点で手動インストールに切り替わってしまうため，インストール自体が中断してしまうことがあります。このような場合に備えて，インストール中にユーザの応答待ち状態になってから一定の時間が経過したあと，インストールを強制的に中断する時間（レコーダファイルの監視時間）を設定しておくことができます。

レコーダファイルの監視時間の設定方法については，マニュアル「運用ガイド1」の「2.2.13　［レコーダファイル設定］パネル」を参照してください。

通常は，レコーダファイルで配布ソフトウェアをインストールした時間の約3倍の時間を目安にして設定してください。

なお，インストールが途中で中断するような不測の事態に備えてレコーダファイル自体の構造を工夫しておくこともできます。レコーダファイルの作成方法については，「付録D.2(2)　レコーダファイルの構造」を参照してください。

(5)　リモートインストールの実行

リモートインストールマネージャで配布のジョブを作成して実行してください。リモートインストールの操作については，マニュアル「運用ガイド1」の「2.3　リモートインストールの実行」を参照してください。

次に，レコーダファイルおよび関連ファイルの作成方法を説明します。レコーダファイルの作成にはVisual Testを使用します。

付録D.2　レコーダファイルの作成手順

レコーダファイルは，基本的に次の手順で作成します。

インストール手順を調査する。
リモートインストールするソフトウェアのインストーラを起動して，インストール手順を調査します。

Visual Testでレコーダファイルを作成する。
調査したインストール手順を基に，Visual TestのTest Basicを使ってレコーダファイルを作成，コンパイルして，JP1/NETM/DMで使用できるレコーダファイルにします。

パッケージャにレコーダファイルを組み込む。
完成したレコーダファイルをパッケージャに組み込みます。

＜この項の構成＞

(1)　インストール手順を調査する

(2)　レコーダファイルの構造

(3)　Visual Testでレコーダファイルを作成する

(4)　レコーダファイルをパッケージャに組み込む

(1)　インストール手順を調査する

リモートインストールするソフトウェアのインストーラを起動して，そのインストール手順を調査します。このとき，インストーラが正常に動作しないソフトウェアは，JP1/NETM/DMでのリモートインストールの対象にはなりません。

なお，リモートインストールするソフトウェアがWindows Installerに対応している場合は，ソフトウェアのインストール画面をカスタマイズすることをお勧めします。終了時とエラー発生時にだけダイアログが表示されるようカスタマイズしてください。これによって，調査が必要なインストール手順が少なくなり，レコーダファイルの作成が容易になります。

次の項目について，インストール方法をOSごとに区別して調べ，インストール手順を紙に記録してください。

インストール画面の順序と属性

各ダイアログボックスの属性

(a)　インストール画面の順序と属性

インストーラが，ユーザに対して「何を，どのような順序で，どういった操作を要求してくるか」を調査する必要があります。何回か手動でインストールしてみて調査し，次の項目について一覧表にまとめてください。

テキスト
Visual Testの「ウィンドウ情報ユーティリティ」を使って調査した「テキスト」を記述します。

クラス名
Visual Testの「ウィンドウ情報ユーティリティ」を使って調査した「クラス名」を記述します。

操作
このダイアログボックスに対する操作（［OK］ボタンをクリックするなど）を記述します。

親子属性
このダイアログボックスが，親ダイアログボックスなのか子ダイアログボックスなのかを記述します。

親ウィンドウ
このダイアログボックスが子ダイアログボックスの場合，親ダイアログボックスを記述します。

備考
特記事項（コメントなど）がある場合に記述します。

なお，インストール方法や，インストールするPCの状態（OSの種類，ハードディスクの空き容量，メモリの空き容量，インストール済みのソフトなど）によって，インストールの操作は変わります。そのため，入念に調査する必要があります。

例えば，Acrobat Reader 5.05をインストールする場合，次の表に示す一覧になります。

表D-1　Acrobat Reader 5.05のインストールの流れ

#
テキスト
クラス名
操作
親子属性
親ウィンドウ
備考

1
Acrobat Reader 5.0.5 のセットアップ
#32770

［次へ］ボタンをクリックする。

親
なし
なし

2
インストール先の選択
#32770

1回目は［参照］ボタンをクリックする。

2回目は［次へ］ボタンをクリックする。

親
なし
2回目は#4のあとへ

3
ディレクトリの選択
#32770

パス名にインストールパスを指定する。

子
#2
インストール先を変更する場合だけ表示

4
セットアップ
#32770

［OK］ボタンをクリックする。

子
#3
インストール先を変更する場合だけ表示

5
セットアップの完了
#32770

［いいえ，後でコンピュータを再起動します］を選択する。

［完了］ボタンをクリックする。

親
なし
なし

(b)　各ダイアログボックスの属性の調査方法

レコーダファイルは，Visual TestのTest Basic言語で記述します。ボタンをクリックする，文字を入力する，キーを押すなどの操作は，すべてVisual Testで用意されている関数を使います。これらの関数には，引数が必要です。ダイアログボックスのウィンドウハンドル，ウィンドウクラス，タイトルのテキストといったダイアログボックスの属性を指定しなければなりません。そのため，「(a)　インストール画面の順序と属性」で説明した作業のダイアログボックスの属性を調査する場合，Visual Testに付属する「ウィンドウ情報ユーティリティ」を使って記録することをお勧めします。

「ウィンドウ情報ユーティリティ」は，次のように使用します。

Visual Testのプログラムグループから「ウィンドウ情報」を起動する。
［ウィンドウ情報］ダイアログボックスが表示されます。

［ウィンドウ情報］ダイアログボックスの左上にあるアイコンを，属性を調べたいダイアログボックスにドラッグ&ドロップする。
次のような情報を取得できます。

図D-2　［ウィンドウ情報］ダイアログボックスでウィンドウの情報を取得する流れ

図D-3　［ウィンドウ情報］ダイアログボックスでボタンの情報を取得する流れ

［ウィンドウ情報］ダイアログボックスの［クリップボード］ボタンをクリックすると，情報をクリップボードにコピーできます。テキストエディタなどに貼り付けて，情報をファイルに保存しておくことをお勧めします。
なお，エディットボックスやコンボボックスに対して操作する場合，対象のボックスを示す文字列が必要になります。この文字列を確認する場合にも，「ウィンドウ情報ユーティリティ」を使います。［ウィンドウ情報］ダイアログボックス内の「関連付けるラベル」内の文字列が相当します。

(2)　レコーダファイルの構造

レコーダファイルは次のような構成にするとわかりやすく作成できます。通常は網掛け部分だけをインストーラに合わせて作成してください。

図D-4　レコーダファイルの構成例

メイン処理の部分は，ユーザが誤って表示されたダイアログボックスに応答したり，キーボードやマウスを操作したりしたため，インストールが中断するような事態に備えて，レコーダファイルを作成することをお勧めします。レコーダファイルの処理例を次に示します。

図D-5　レコーダファイルの処理例

レコーダファイルは，ループ中で繰り返しダイアログボックスを検索します。したがって，ユーザが誤ってAウィンドウに応答してBウィンドウが表示された状態でも，レコーダファイルはAウィンドウの処理をスキップしてBウィンドウの処理を実行できます。

レコーダファイルを作成する場合は出力されるウィンドウを調査し，そのウィンドウに対する処理を並べます。このような処理構造によって出力されるウィンドウの順序やユーザの操作に関係なく処理を完結できます。

(3)　Visual Testでレコーダファイルを作成する

記録したインストール手順を基に，Visual TestのTest Basic言語でレコーダファイルをコーディングします。まず，Visual Testの「シナリオレコーダー」を使ってインストール手順を自動的に生成させます。この自動生成されたコードは，レコーダファイルの原形になります。その後，自動生成されたインストール手順に修正を加え，コンパイルして，JP1/NETM/DMで使用できるレコーダファイルにします。

(a)　Visual Testでイベントを記録する

Visual Testの「シナリオレコーダー」を使って，次のような手順でレコーダファイルの原形を作成します。

Visual Testを起動し，メニューで［ツール］から［イベントの記録］を選択する。
［シナリオレコーダー］ダイアログボックスが表示されます。シナリオ名を入力してください。

図D-6　［シナリオレコーダー］ダイアログボックス

パッケージングしたいソフトウェアを実際にインストールし，イベントを記録する。
このインストール作業では，マウスをできるだけ使用しないでください。マウスからの操作は，画面座標に依存してしまうため，レコーダファイルからインストーラへの確実な応答ができなくなってしまいます。マウス操作ではなく，キーボード入力のイベントを記録するようにしてください。

イベントの記録を終了させ，インストール手順のコードを生成する。
パッケージングしたいソフトウェアのインストール作業が終わったら，Visual Testのレコーダのアイコンをクリックして，イベントの記録を終了させます。レコーダのアイコンをクリックすると，［シナリオレコーダー（一時停止）］ダイアログボックスが表示されます。

図D-7　［シナリオレコーダー（一時停止）］ダイアログボックス

［OK］ボタンをクリックすると，自動生成されたイベントが表示されます。

図D-8　自動生成されたイベントの表示

(b)　レコーダファイルの作成手順

レコーダファイルの作成は，インストーラが出力するすべてのダイアログボックスの処理を組み合わせて作成します。

ダイアログボックスの処理は，次の処理を一つのパーツとしてループ中にシーケンシャルに並べます。

ダイアログボックスの検索

ダイアログボックスの操作

ダイアログボックスの検索は，WFndWindC関数を使用します。WFndWindC関数はダイアログボックスの「テキスト」と「クラス名」を入力情報としています。したがって，出力するダイアログボックスの「テキスト」と「クラス名」を調査する必要があります。

ダイアログボックスを調査するツールにはVisual Testの「ウィンドウ情報ユーティリティ」があります。

ダイアログボックスに対する操作には，次のような種類があります。

アクティブウィンドウ中にボタンやチェックボックスなどの項目があるかないかをチェックする。

項目にフォーカスを当てる。

項目の状態を確認する。

［Enter］キーを押すなどの具体的な操作をする。

シナリオレコーダーで記録したイベントには，ダイアログボックスの情報やそのダイアログボックスに対する処理が記録されています。シナリオレコーダーで記録したイベントの例を次に示します。

図D-9　シナリオレコーダーで記録したイベントの例

このデータから次のようにレコーダファイルのダイアログボックス処理としてコーディングしてください。

図D-10　レコーダファイルのダイアログボックス処理としてのコーディング例

レコーダファイルを作成する上でダイアログボックスの検索に必要なWFndWndC関数の仕様について説明します。

WFndWndC関数

機能

ウィンドウを検索します。ウィンドウを発見すると，ウィンドウハンドルを取得し，指定によってはそのウィンドウにフォーカスを与えます。

構文：WFndWndC(text$,classname$,[flags],[timeout&])

text$
検索するウィンドウに結び付けられたテキストを指定します。

classname$
検索するウィンドウのクラス名を指定します。ダイアログボックスの場合は「#32770」固定です。

flags
FW_FOCUS：ウィンドウを発見した場合にフォーカスを与えます。
FW_EXIST：検索条件に一致するウィンドウを検索します。ウィンドウを発見した場合，ウィンドウハンドルを返却します。ウィンドウが発見できなかった場合，検索は失敗します。
FW_ACTIVE_ONLY：アクティブウィンドウだけを検索します。

timeout&
ウィンドウの検索に使用できる最大時間を秒単位に指定します。

戻り値

ウィンドウハンドルがlong型またはNULL(0)で返ります。

注意

子ウィンドウが表示されているため活性化できない状態のダイアログボックスを活性化しようとするとランタイムエラーとなります。

連続的に発行すると関数の終了に時間が掛かります。

(c)　複雑なレコーダファイルの作成方法

単純なソフトウェアのインストーラは，単純な構造のレコーダファイルで配布できます。しかし，インストーラによってはもう少し複雑なレコーダファイルを作成する必要があります。

ここでは，同一ウィンドウ名が出力される場合のレコーダファイルの作成方法，および子ウィンドウがある場合のレコーダファイルの作成方法について説明します。

●同一ウィンドウ名が出力される場合のレコーダファイルの作成方法

レコーダファイルは，あるウィンドウ名に対してどのような応答をするかを決めて作成します。しかし，インストールするソフトウェアのインストーラによっては，同一ウィンドウ名で異なる応答が必要な場合があります。ここでは同一ウィンドウ名の対処方法について説明します。

次のような同一ウィンドウ名で異なる応答が必要な場合は，ウィンドウ内のテキストを判断材料に使います。

図D-11　同一ウィンドウ名で異なる応答が必要な画面の例

二つの画面とも「ようこそ」というウィンドウ名ですが，応答は異なります。このような場合は，WStaticExists関数を使って文字列を検索させます。

コメントの情報は「ウィンドウ情報ユーティリティ」でコメント部分にアイコンをドラッグ＆ドロップすることで取得できます。

図D-12　［ウィンドウ情報］ダイアログボックスでコメントの情報を取得する流れ

同一ウィンドウ名のインストーラに対するレコーダファイルの作成例を示します。

図D-13　同一ウィンドウ名のインストーラに対するレコーダファイルの作成例

WStaticExists関数の第1引数を「＋」から始めた場合，続きのテキストを含むテキストが存在すると「true」が返されます。長いテキストは「＋」を付けることで前方一致で比較することができます。

このように，同じウィンドウ名の場合は，ウィンドウ内に異なる個所を見つけることで識別させます。そのほかにボタンの名称なども使用できます。

●子ウィンドウがある場合のレコーダファイルの作成方法

実際のソフトウェアのインストーラにはウィンドウが階層的になっていることがあります。具体的には「子ウィンドウ」と呼ばれ，親ウィンドウからのアクションで表示されます。例えば，次のようなウィンドウのことを示します。

図D-14　子ウィンドウの例

この場合，「JP1/Script セットアップ」が親ウィンドウで「ディレクトリの選択」が子ウィンドウです。

このような環境で親ウィンドウをアクティブにしようとすると，WFndWndC関数がランタイムエラーとなってしまいます。

子ウィンドウは，親ウィンドウが出力されなければ出力されません。この特性を利用して，親ウィンドウがあるときに子ウィンドウの有無を確認し，子ウィンドウがある場合には子ウィンドウを処理し，子ウィンドウがない場合は親ウィンドウの処理をするようにします。処理例を次に示します。

図D-15　子ウィンドウがある場合の処理例

具体的なレコーダファイルの記述例を次に示します。

図D-16　子ウィンドウがある場合のレコーダファイルの記述例

(d)　JP1/NETM/DMの拡張機能を使用するための修正

レコーダファイルの中では，Visual Testの多くの関数を使用できます。しかし，これだけではJP1/NETM/DMと連動させるには不十分なため，JP1/NETM/DMの拡張機能を使用します。そのための修正方法を次に示します。

JP1/NETM/DMの拡張機能を利用するためのファイルをインクルード

レコーダファイルの先頭にある，ほかの$INCLUDEメタコマンドの最後に，JP1/NETM/DMが用意している，ファイルをインクルードするステートメントを追加してください。

：

'$INCLUDE …

'$INCLUDE 'DMPTEST.INC' 'ここに追加

JP1/NETM/DM固有のグローバル変数を利用するためのサブルーチンを追加

JP1/NETM/DM固有のグローバル変数を利用するために，DMPSTPRCサブルーチンを呼び出さなければなりません。レコーダファイルでインストーラを起動する前の部分に，DMPSTPRCサブルーチンを追加します。

（例）

DMPSTPRC 'ここに追加

'インストーラを起動します。

run InstallerName, nowait

JP1/NETM/DM固有のグローバル変数の利用

JP1/NETM/DM固有のグローバル変数を利用して，レコーダファイル内で「インストール先ディレクトリ名」などのインストール情報を参照できます。実際の使用例は，「付録D.3　レコーダファイルの完成例」を参照してください。使用できるグローバル変数は，次のとおりです。

InstallerName
インストール定義ファイルの「InstallerName = 」で指定した，インストールプログラム名。

InstallDrive
クライアントのGUIで指定したインストール先ドライブ名。設定値がデフォルト値の場合は，DEFAULT_VALUEになります。

InstallDirectory
クライアントのGUIで指定したインストール先ディレクトリ。設定値がデフォルト値の場合は，DEFAULT_VALUEになります。

InstallPoint
InstallDrive変数とInstallDirectory変数の内容を結合した，インストール位置（ドライブ名を含むフルパス）。

InstallUserName
クライアントのGUIで指定したソフトウェアの所有者名。

InstallCompanyName
クライアントのGUIで指定したソフトウェアの所有会社名。

(e)　レコーダファイルをコンパイルする

これまでの手順で作成したレコーダファイルのソースをコンパイルします。

DMPTEST.INCファイルをコピーする。
DMPTEST.INCファイルをレコーダファイルのあるディレクトリにコピーします。

図D-17　DMPTEST.INCファイルのコピー

Visual Testのワークベンチからコンパイルする。
Visual Testのワークベンチから，完成したレコーダファイルのソースをコンパイルしてください。コンパイルが成功すると，コンパイル結果のファイル（*.PC6ファイルまたは*.PCDファイル）が生成されます。この生成されたコンパイル結果のファイルが，JP1/NETM/DMで直接使用できるレコーダファイルになります。

(4)　レコーダファイルをパッケージャに組み込む

Visual Testでコンパイルしたレコーダファイル（コンパイル結果のファイル）をパッケージャに組み込みます。レコーダファイルを決められたディレクトリに決められた拡張子でコピーすることで，組み込みは終了します。なお，レコーダファイル格納ディレクトリには，レコーダファイル以外のファイルは格納しないでください。

インストール方法が複数あるかどうかで拡張子が変わります。なお，拡張子は，コンパイル時に生成されたデフォルトのままで使用してください。インストール方法が1種類の場合の拡張子は，Visual Test 6.0でコンパイルした場合は「*.PC6」，Visual Test 4.0でコンパイルした場合は「*.PCD」です。

コピー先のディレクトリを次に示します。説明中の<RecordFileDirectory>という部分は，インストール定義ファイルのRecordFileDirectory項目で指定するディレクトリです。

インストール方法が一つの場合

<RecordFileDirectory>¥<任意のファイル名>.PC6

インストール方法が複数の場合

<RecordFileDirectory>¥<任意のファイル名>.1

<RecordFileDirectory>¥<任意のファイル名>.2

<RecordFileDirectory>¥<任意のファイル名>.3

付録D.3　レコーダファイルの完成例

Acrobat Reader 5.05をリモートインストールする場合のレコーダファイルの例を示します。

'*****************************************************************
'レコーダファイル All Rights Reserved, Copyright (C) 2002,Hitachi,Ltd.
'*****************************************************************
'$INCLUDE 'WINAPI.INC'
'$INCLUDE 'DMPTEST.INC'
Dim WINH      As Long, _
 DM_RTN      As Short, _
 Rtn         As Short, _
 f_DM        As Short, _
 loop_cnt    As Short, _
 loop_max    As Short, _
 whnd      As Long
 const OK_END  =  0 'DM_RTN:正常終了
 SetDefaultWaitTimeout(1)
 ON ERROR GOTO ERROPROC
 '***************************************************************
 ' 初期化処理
 '***************************************************************
 DM_RTN   = 10
 f_DM     = 0
 loop_cnt = 0
 loop_max = 30
   DMPSTPRC()
 '***************************************************************
 ' インストーラ起動処理
 '***************************************************************
 if 0 = Exists( InstallerName ) then
   loop_max = 0
 end if
 Rtn = Run( InstallerName, SW_NORMAL) ' インストールプログラムの起動
 if Rtn <> 0 then
   loop_max = 0
 endif
 '***************************************************************
 'メイン処理ループ
 '***************************************************************
 do while (loop_cnt < loop_max)
   if WFndWndC ("Acrobat Reader 5.0.5 のセットアップ", "#32770", FW_EXIST or FW_FOCUS, 1) > 0 then
     Play "%(n)"
     loop_cnt = 0
     Sleep(1)
   endif
   if WFndWndC ("セットアップ", "#32770", FW_EXIST or FW_FOCUS, 1) > 0 then
     Play "%(Y)"
     Sleep(1)
   elseif WFndWndC ("ディレクトリの選択", "#32770", FW_EXIST or FW_FOCUS, 1) > 0 then
     Play "%(P)"
     Play "C:¥Program Files¥Adobe¥Acrobat5"
     WButtonSetFocus("OK")
     Play " "
     Sleep(1)
   elseif WFndWndC ("インストール先の選択", "#32770", FW_EXIST or FW_FOCUS, 1) > 0 then
     if f_DM = 9 then
       Play "%(n)"
     elseif f_DM = 0 then
       Play "%(R)"
       f_DM = 9
     endif
     loop_cnt = 0
     Sleep(1)
   endif
     if WFndWndC ("セットアップの完了", "#32770", FW_EXIST or FW_FOCUS, 1) > 0 then
     Play "{DOWN}"
     Play "{ENTER}"
     loop_cnt = loop_max
     DM_RTN   = OK_END  'インストール正常終了
     Sleep(1)
   endif
     if WFndWndC ("エラー", "#32770", FW_EXIST or FW_FOCUS, 1) > 0 then
     Play "%(A)"
     loop_cnt = loop_max
     DM_RTN   = 30      'HD容量不足
     Sleep(2)
   endif
   loop_cnt = loop_cnt + 1
   Sleep(1)
 loop
 '***************************************************************
 '終了処理
 '***************************************************************
 WINH = RegisterWindowMessage("DMP_REC_QUIT")
 if WINH <> 0 then
   PostMessage(HWND_BROADCAST, WINH, DM_RTN, 0)
 endif
End

ERROPROC:
 WINH = RegisterWindowMessage("DMP_REC_QUIT")
 if WINH <> 0 then
   PostMessage (HWND_BROADCAST,WINH,-1,0)
 endif
End

付録D.4　関連ファイルの作成手順

レコーダファイルには，「インストール定義ファイル」と「PP識別情報ファイル」という二つの関連ファイルがあります。レコーダファイル本体とともに，この二つの関連ファイルも必要に応じて作成してください。

＜この項の構成＞

(1)　インストール定義ファイルの作成

(2)　PP識別情報ファイルの作成

(1)　インストール定義ファイルの作成

インストール定義ファイルには，セットアップ方法の種類やFDを入れる順番などを記述します。パッケージャのPCで，次のディレクトリにインストール定義ファイル（INSTABL.DEF）を作成してください。

パッケージャのインストール先ディレクトリ¥DMPRM¥INSTABL.DEF

(a)　ファイルの形式

インストール定義ファイルの形式は，次のとおりです。

等号（=）の前後には，1文字以上の半角スペース，またはTABコードを入力してください。

[Package]
PackageID = パッケージ識別ID
Maker = メーカ名
Version = バージョン
Product = パッケージ名
InstallerName = インストールプログラム名
InstallKind = 番号.セットアップ方法
InstallDrive = インストールドライブ
InstallDirectory = インストール先ディレクトリ
JUser = 所有者のユーザ名（日本語の場合）
EUser = 所有者のユーザ名（英語の場合）
JCompany = 所有者の会社名（日本語の場合）
ECompany = 所有者の会社名（英語の場合）
SetFdNumber = FDをセットする順番
RecordFileDirectory = レコーダファイルのディレクトリ
RecordFileVersion = Visual Testのバージョン
[Package]
：
：

インストール定義ファイル内で，各ソフトウェアの定義は[Package]という記述で始めます。ソフトウェアが複数ある場合は，その数だけ[Package]という記述をしてください。

[Package]に続く各項目は，「属性名 = 属性値」という形で定義します。これらの項目をすべて定義する必要はありませんが，必ず定義しなければいけない項目も幾つかあるのでご注意ください。各属性名の詳細を，次に示します。

PackageID = パッケージ識別ID（必ず定義）
パッケージ識別IDを指定します。使える文字は，半角の「A～Z，-，0～9」です。指定できる長さは，半角で1～44文字です。

Maker = メーカ名
ソフトウェアのメーカ名を指定します。使える文字に制限はありません。指定できる長さは，半角で1～30文字です。

Version = バージョン（必ず定義）
ソフトウェアのバージョンを指定します。使える文字は，半角の「A～Z，0～9，/」です。指定できる長さは，半角で1～6文字です。なお，世代番号は，「0000」固定になります。

Product = パッケージ名（必ず定義）
パッケージ名を指定します。「¥」は指定できません。指定できる長さは，半角で1～50文字です。

InstallerName = インストールプログラム名（必ず定義）
ソフトウェアをインストールするときの，インストールプログラム（インストーラ）名を指定します。使える文字に制限はありません。指定できる長さは，半角で1～256文字です。媒体がCD-ROMの場合はインストールプログラム名の先頭に，#を付加してください。
（例）

媒体がFDの場合
InstallerName = INSTALL.EXE

媒体がCD-ROMの場合
InstallerName = #INSTALL.EXE

InstallKind = 番号.セットアップ方法
選択できるセットアップ方法（インストール方法）と，それに対応する番号を次のように指定します。指定できる長さは，半角で最大256文字です。
1.セットアップ方法1, [2.セットアップ方法2, ～ , n.セットアップ方法n]
nには，1から順に数字を記述してください。

（例）

InstallKind = 1.フルインストール,2.最小インストール

InstallDrive = インストールドライブ（必ず定義）
ソフトウェアをインストールするドライブ名を指定します。使える文字は，半角の「A～Z，a～z，1～9」です。"1"は，ハードディスクの最初のドライブになります。指定できる長さは，半角で1文字です。

InstallDirectory = インストール先ディレクトリ（必ず定義）
ソフトウェアをインストールするディレクトリを¥で始まるパス名で指定します。使える文字に制限はありません。指定できる長さは，半角で1～256文字です。

JUser = 所有者のユーザ名（日本語の場合）
ソフトウェアを所有するユーザの名前を日本語で指定します。使える文字に制限はありません。指定できる長さは，半角で1～40文字です。EUserを指定した場合は，指定できません。

EUser = 所有者のユーザ名（英語の場合）
ソフトウェアを所有するユーザの名前を英語で指定します。使える文字は，英数字です。指定できる長さは，半角で1～40文字です。JUserを指定した場合は，指定できません。

JCompany = 所有者の会社名（日本語の場合）
ソフトウェアを所有する会社の名前を日本語で指定します。使える文字に制限はありません。指定できる長さは，半角で1～80文字です。ECompanyを指定した場合は，指定できません。

ECompany = 所有者の会社名（英語の場合）
ソフトウェアを所有する会社の名前を英語で指定します。使える文字は，英数字です。指定できる長さは，半角で1～40文字です。JCompanyを指定した場合は，指定できません。

SetFdNumber = FDをセットする順番（必ず定義）
FDをセットする順番を次のように指定します。指定できる長さは，半角で最大256文字です。媒体がCD-ROMの場合は，SetFdNumber = 0と指定してください。
SetFdNumber = 番号 [,番号, ...]

（例）

1，2，5枚目のFDをセットする場合は，次のようにします。

SetFdNumber = 1,2,5

（例）

InstallKindを設定した場合は，次のようにSetFdNumberのあとにセットアップ方法の番号を「_番号」の形式で付けてください。

SetFdNumber_1 = 1,2,3,4,5

SetFdNumber_2 = 1,2,5

RecordFileDirectory = レコーダファイルのディレクトリ
レコーダファイルのあるディレクトリをドライブ名も含めて指定します。使える文字に制限はありません。指定できる長さは，半角で1～256文字です。この属性名自体の指定を省略した場合，ジョブ実行時に必ず「クライアントユーザによるインストール」ジョブを指定し，クライアント側でパッケージセットアップマネージャからインストールしてください。「パッケージのインストール」を指定したジョブは最終的にエラーとなります。

RecordFileVersion = Visual Testのバージョン（必ず定義）
レコーダファイルの作成に使用したVisual Testのバージョンを，半角数字1けたで次のように設定してください。

Visual Test 6.0の場合
RecordFileVersion = 6

Visual Test 4.0の場合
RecordFileVersion = 4

(b)　インストール定義ファイルの例

インストール定義ファイルの例を次に示します。

[Package]
PackageID = ACROBATREADER405
Version = 0405
Product = Acrobat Reader 4.0
InstallerName = #Ar405jpn.exe
SetFdNumber = 0
RecordFileDirectory = c:¥recod¥ar40
RecordFileVersion = 6

(2)　PP識別情報ファイルの作成

PP識別情報ファイルには，パッケージング時に選択するファイルをパッケージに対応付けるための情報を記述します。インストール定義ファイルで定義したパッケージについては，このPP識別情報ファイルにも必ず定義してください。

PP識別情報ファイルは，パッケージャのPCで，次のディレクトリに作成してください。

パッケージャのインストール先ディレクトリ¥DMPRM¥PPDEF.DMP

(a)　ファイルの形式

PP識別情報ファイルでは，1行に1ソフトウェアの定義を記述します。ソフトウェアが複数ある場合は，複数行記述してください。形式は次のとおりです。

情報マップ;パッケージ識別ID;バージョン番号;パッケージ名;ファイル名;
:
:

各項目は，セミコロン（;）で区切ります。各項目の詳細は，次のとおりです。

情報マップ
必ず000001を指定します。

パッケージ識別ID
インストールするソフトウェアのパッケージ識別IDを指定します。

バージョン番号
インストールするソフトウェアのバージョンを指定します。

パッケージ名
インストールするソフトウェアのパッケージ名を指定します。

ファイル名
インストールするソフトウェアをユニークに識別できるようなファイル名を指定します。媒体がFDの場合は，1枚目のFDにあるファイルの名前を指定してください。通常は，媒体中のソフトウェアの名前を含むようなファイル名になります。

(b)　PP識別情報ファイルの例

PP識別情報ファイルの例を次に示します。

000001;ACROBATREADER405;0405;Acrobat Reader 4.0;Ar405jpn.exe;

付録D.5　レコーダファイル作成後の確認

作成したレコーダファイル，インストール定義ファイル，およびPP識別情報ファイルを使ってソフトウェアをリモートインストールするために，次の項目を最後に確認してください。

＜この項の構成＞

(1)　レコーダファイルは，正しいディレクトリにあるか

(2)　インストール定義ファイル，PP識別情報ファイルは，正しいディレクトリにあるか

(3)　インストール定義ファイル，PP識別情報ファイルの内容は正しいか

(4)　レコーダファイルの位置は，インストール定義ファイルで指定されているか

(5)　PP識別情報ファイルのファイル名が，ほかのソフトウェアと重なっていないか

(1)　レコーダファイルは，正しいディレクトリにあるか

レコーダファイルは，「付録D.2(4)　レコーダファイルをパッケージャに組み込む」で説明したディレクトリに格納してください。また，ファイル名と拡張子は正しいかどうか確認してください。

(2)　インストール定義ファイル，PP識別情報ファイルは，正しいディレクトリにあるか

インストール定義ファイル，PP識別情報ファイルは，「付録D.4　関連ファイルの作成手順」で説明したディレクトリに格納してください。また，正しいファイル名になっているかどうか確認してください。

(3)　インストール定義ファイル，PP識別情報ファイルの内容は正しいか

インストール定義ファイルおよびPP識別情報ファイルが，「付録D.4　関連ファイルの作成手順」で説明した構文で，正しく作成されているかどうか確認してください。

(4)　レコーダファイルの位置は，インストール定義ファイルで指定されているか

インストール定義ファイルのRecordFileDirectory項目に，レコーダファイルのあるディレクトリを正しく指定してください。

(5)　PP識別情報ファイルのファイル名が，ほかのソフトウェアと重なっていないか

パッケージングするソフトウェアを正常に認識させるために，重ならないファイル名をPP識別情報ファイルに付けてください。同じソフトウェアでも，バージョンが異なるときは異なるファイル名を付ける必要があります。

付録D.6　JP1/NETM/DMで提供するレコーダファイル

JP1/NETM/DMで提供しているレコーダファイルの一覧を次の表に示します。

表D-2　JP1/NETM/DMで提供するレコーダファイル一覧

項番 | パッケージ名 | バージョン | パッケージ識別ID | パッケージ識別ファイル名
1 | WindowsNT40ServicePack6 | 0406 | WINNT40SP6 | sp6full_i386.exe
2 | Adobe Acrobat Reader 4.0 | 0400 | ACROBAT-READER | AR40JPN.EXE
3 | Adobe Acrobat Reader 5.0 | 0500 | ACROBAT-READER | ar500jpn.exe
4 | インターネット エクスプローラ | 05216 | MS-IEXPLORE | pncodec.cab
5 | WMICORE9598NT | 0150 | WMICORE | wmicore.exe
6 | English Navigator R1.0 | 0100 | ENGLISHNAVIGATOR | _SETUP.001
7 | DBPARTNER/Client(DOS/V)DF Drv | 0401 | P-2263-1744 | DBPDFDRV.DL_
8 | DBPARTNER ODBC Driver | 0103 | P-2663-5514 | DBP0250.002

各レコーダファイルを使ったインストール時の，再起動の有無とオプションの設定内容を次に示します。

＜この項の構成＞

(1)　WindowsNT40ServicePack6

(2)　Adobe Acrobat Reader 4.0

(3)　Adobe Acrobat Reader 5.0

(4)　インターネット エクスプローラ

(5)　WMICORE9598NT

(6)　English Navigator R1.0

(7)　DBPARTNER/Client(DOS/V)DF Drv

(8)　DBPARTNER ODBC Driver

(1)　WindowsNT40ServicePack6

再起動：あり

［Windows NT 4.0 Service Pack 6セットアップへようこそ］ダイアログボックス：「同意する」を選択。また，「後でこのService Packをアンインストールできるように，必要なファイルをバックアップする」は，パッケージ情報の「セットアップ方法」の設定によって次のようになる

「1.アンインストールディレクトリあり」を設定：選択する

「2.アンインストールディレクトリなし」を設定：選択しない

(2)　Adobe Acrobat Reader 4.0

再起動：なし

［インストール先の選択］ダイアログボックス：パッケージ情報のインストール先を設定

(3)　Adobe Acrobat Reader 5.0

再起動：なし

［インストール先の選択］ダイアログボックス：パッケージ情報のインストール先を設定

(4)　インターネット エクスプローラ

再起動：あり

［Internet Explorerとインターネットツールのセットアップへようこそ］ダイアログボックス：「同意する」を選択

［Windows Update: Internet Explorerとインターネットツール］ダイアログボックス：「最小構成インストール，またブラウザのカスタマイズ」を選択

［コンポーネントのオプション］ダイアログボックス：「Internet Explorerをインストールするためのフォルダ」にパッケージ情報のインストール先を設定。また，「標準構成」を選択

(5)　WMICORE9598NT

再起動：なし

［使用許諾契約］ダイアログボックス：「契約に同意します」を選択

(6)　English Navigator R1.0

再起動：なし

［English Navigatorシステムの設定］ダイアログボックス：パッケージ情報のインストール先を設定

(7)　DBPARTNER/Client(DOS/V)DF Drv

再起動：なし

(8)　DBPARTNER ODBC Driver

再起動：なし

付録E　Windows Installerに対応したソフトウェアのリモートインストール手順

Windows Installerは，Microsoft Windowsに搭載された新しいインストールサービスです。Windows Installerに対応したソフトウェアは，インストーラの画面を表示させないでインストールすること（サイレントインストール）ができます。サイレントインストールの場合は，インストール時の設定内容をコマンドのオプションやトランスフォーム（.mstファイル）を使って指定できます。そのため，AITファイルを作成する場合に，インストーラの画面を調査したり，画面ごとの処理を定義したりする必要がありません。

JP1/NETM/DMは，Windows Installerに対応したソフトウェア用のAITファイルのテンプレートを用意しています。このテンプレートを必要に応じて変更して使用することで，Windows Installerに対応したソフトウェアのリモートインストールが容易にできます。なお，このAITファイルのテンプレートを使ってリモートインストールするには，クライアントのPCに，バージョン07-10以降のクライアントとWindows Installer 2.0以降が必要です。

Windows Installer 2.0は，Windows Server 2003，Windows XP，およびWindows 2000（Service Pack 3以降）には標準でインストールされています。それ以外のOSの場合は，Microsoft社のホームページでWindows Installer 2.0を入手し，インストールしておく必要があります。なお，JP1/NETM/DMは，Windows Installer 2.0のコンポーネントを配布するためのAITファイルを提供しています。このAITファイルを使うことで，クライアントへのWindows Installer 2.0コンポーネントの配布が容易になります。Windows Installer 2.0コンポーネントの配布用AITファイルについては，「付録B　JP1/NETM/DMで提供するAITファイル」を参照してください。

Windows Installerに対応したソフトウェアのリモートインストールは，次の図に示す手順で行います。

図E-1　Windows Installerに対応したソフトウェアのリモートインストールの流れ

なお，OSが64ビット版の場合，起動するWindows Installerは32ビットのWindows Installerです。64ビットのWindows Installerではありません。

＜この節の構成＞

付録E.1　MSIEXECコマンドのコマンドラインの調査

付録E.2　JP1/NETM/DMが提供しているテンプレート

付録E.3　テンプレートのカスタマイズ

付録E.4　PP識別情報ファイルの作成

付録E.5　作成したファイルの格納

付録E.6　パッケージング

付録E.7　リモートインストールの実行

付録E.1　MSIEXECコマンドのコマンドラインの調査

Windows Installer対応のソフトウェアをサイレントインストールする場合は，インストール方法や，ユーザ名，インストール先ディレクトリなどの情報をWindows InstallerのMSIEXECコマンドのオプションに指定します。

JP1/NETM/DMを使ってインストールする場合は，MSIEXECコマンドを呼び出す処理をAITファイルの中に定義します。

そのため，MSIEXECコマンドにどのようなオプションを指定するかを決めておく必要があります。MSIEXECコマンドにどのようなオプションが指定できるかについては，Windowsのオンラインヘルプを参照してください。

指定できる主なオプションの例を次に示します。なお，AITファイルを作成するときは，使用するオプションをWindowsのオンラインヘルプで必ず確認してください。

（例1）ユーザーインターフェースを一切表示しない

MSIEXEC.EXE /qn /I Example.msi

（例2）ステータスメッセージ，メモリ不足メッセージ，およびエラーメッセージをログファイル（MSIEXEC.LOG）に出力する

MSIEXEC.EXE /I Example.msi /Lime MSIEXEC.LOG

（例3）トランスフォーム（TransformList.mst）を利用する

MSIEXEC.EXE /I Example.msi TRANSFORMS=TransformList.mst

付録E.2　JP1/NETM/DMが提供しているテンプレート

JP1/NETM/DMでは，Windows Installerに対応したソフトウェアをサイレントインストールするために，AITファイルのテンプレートを2種類，用意しています。テンプレートはMicrosoft Office Project 2003用とMicrosoft Office 2003 Resource Kit用の2種類ですが，テンプレートをカスタマイズすれば，ほかのソフトウェアのインストールにも使えます。この2種類のテンプレートは，テンプレート中で定義されている処理が異なります。ほかのソフトウェア用にカスタマイズするときは，実行したい処理に近い方のテンプレートを使用してください。

＜この項の構成＞

(1)　各テンプレートの特長

(2)　テンプレートの定義内容

(1)　各テンプレートの特長

2種類のテンプレートの仕様を次の表に示します。

表E-1　JP1/NETM/DMが提供する2種類のテンプレート

定義項目
Microsoft Office Project 2003用
テンプレート
Microsoft Office 2003 Resource Kit用
テンプレート

パッケージ名
Microsoft Office Project Standard 2003
Microsoft Office 2003 Resource Kit

バージョン
2003
2003

パッケージ識別ID
MSOFFICE-2003-PROJECT-STANDARD
MSOFFICE-2003-RESOURCE-KIT

インストーラ名
PRJSTDE.MSI
ORK.MSI

テンプレートファイル名
インストール先ディレクトリ¥MASTER¥DMAIT¥TEMPLATE¥OFFICE-2003¥Office2003PrjStandard.ais
インストール先ディレクトリ¥MASTER¥DMAIT¥TEMPLATE¥OFFICE-2003ORK¥Office2003RKTOOLS.ais

実行するコマンドライン
MSIEXEC.EXE /qn /i PRJSTDE.MSI /Lime MSIEXEC.LOG TRANSFORMS=TransformList.mst REBOOT=R
MSIEXEC.EXE /qn /i OSK.MSI

テンプレートに定義されている処理

インストーラ画面を表示しない。

ログファイルを作成し，ステータスメッセージ，メモリ不足メッセージ，エラーメッセージを出力する。

トランスフォームを利用する。

インストール後に再起動しない。

インストーラ画面を表示しない。

ログファイルを作成しない。

トランスフォームを利用しない。

インストール後の再起動を抑制しない。

Microsoft Office Project 2003用テンプレートには，オプションやトランスフォームを指定してインストールするための処理が定義されています。設定を細かく定義してインストールしたい場合に向いています。

Microsoft Office 2003 Resource Kit用テンプレートには，最小限のオプションだけが定義されています。このテンプレートは，あまりカスタマイズすることなく，最小限の設定でインストールしたい場合に向いています。

(2)　テンプレートの定義内容

ここでは，Microsoft Office Project 2003用のテンプレートを例に，テンプレートの定義内容をセクションごとに説明します。

(a)　PACKAGE_INFOセクション

インストールするソフトウェアのパッケージ情報とセットアップに必要な情報を指定するセクションです。

別のソフトウェアをインストールする場合は，このセクションの変更が必要です。

Microsoft Office Project 2003用テンプレートのPACKAGE_INFOセクションを次に示します。左側の数字はテンプレートの先頭からの行数です。

図E-2　Microsoft Office Project 2003用テンプレートのPACKAGE_INFOセクション

(b)　DEFINEセクション

変数や定数を定義するセクションです。このセクションには，トランスフォームのファイル名，MSIEXECコマンドに指定するオプション，インストールするソフトウェアのプロパティ名などが定義されています。これらを変更したい場合は，このセクションの変更が必要です。

Microsoft Office Project 2003用テンプレートのDEFINEセクションを次に示します。左側の数字はテンプレートの先頭からの行数です。

図E-3　Microsoft Office Project 2003用テンプレートのDEFINEセクション

(c)　MAINセクション

インストール時に行う処理を定義するセクションです。このセクションには，Windows InstallerのMSIEXECコマンドを呼び出す処理などが定義されています。MSIEXECコマンドのコマンドラインを変更する場合には，このセクションの変更が必要です。

Microsoft Office Project 2003用テンプレートのMAINセクションを次に示します。左側の数字はテンプレートの先頭からの行数です。

図E-4　Microsoft Office Project 2003用テンプレートのMAINセクション

なお，AITファイルからMSIEXECコマンドを呼び出す場合，MSIEXECコマンドの実行結果を取得するために，DMPWINISコマンドを介して呼び出します。AITファイルを新しく作成する場合もMSIEXECコマンドのコマンドラインを，DMPWINISコマンドの引数として指定してください。

このスクリプトの実行結果は，保守コードおよび保守コードのユーザステータスとして返されます。このスクリプトが返す実行結果については，「付録E.7　リモートインストールの実行」を参照してください。

付録E.3　テンプレートのカスタマイズ

ここでは，Microsoft Office Project 2003用のテンプレートを例として，テンプレートをカスタマイズする手順を説明します。なお，カスタマイズするときに変更が必要な個所には，コメントとして「以下の定義（処理）を変更して利用してください」と記述されています。変更個所を探す際の目安にしてください。

＜この項の構成＞

(1)　プロパティの値を変更する

(2)　トランスフォームの設定を変更する場合

(3)　コマンドラインの指定内容を変更する場合

(4)　ほかのソフトウェアをインストールする場合

(5)　AITファイル作成時の注意事項

(1)　プロパティの値を変更する

下記の四つのプロパティの値を変更する手順を次に示します。

会社名

ユーザ名

インストール先ディレクトリ

CDキー

テンプレートでは，これらのプロパティを設定する処理は，MAINセクションにコメントとして書かれています。そのため，プロパティを変更する場合は，該当個所のコメントを表す記号を削除する必要があります。プロパティの値は，パッケージ情報ツールを使って，JP1/NETM/DMのグローバル変数に定義します。

プロパティを変更する場合の手順を次に説明します。

パッケージ情報ツールで，変更したいプロパティの値を入力する。
パッケージ情報ツールの使用方法については，「2.5　PACKAGE_INFOセクションを生成する」を参照してください。

テンプレートのMAINセクションで，下記に示す行の先頭にある「//」を削除する。

(2)　トランスフォームの設定を変更する場合

テンプレートでは，MSIファイルと同じディレクトリにある，TransformList.mstという名称のファイルをトランスフォームとして利用するように定義されています。トランスフォームの設定を変更したい場合は，次のようにしてください。

トランスフォームを使用しない場合
MAINセクションにある下記の行の行頭に「//」を挿入して，コメントにします。

トランスフォームのファイル名を変更する場合
トランスフォームのファイル名は，テンプレートの36行目で定義されています。使用するトランスフォームのファイル名を，パッケージングするディレクトリからの相対パスで指定してください。

(3)　コマンドラインの指定内容を変更する場合

(1)，(2)の変更以外に，コマンドラインに指定するオプションやプロパティを追加・変更したい場合は，DEFINEセクションおよびMAINセクションを変更して，実行したいコマンドラインを定義してください。

(4)　ほかのソフトウェアをインストールする場合

テンプレートをカスタマイズしてほかのソフトウェアをインストールするためのAITファイルを作成する場合は，インストールするソフトウェアのパッケージ情報をテンプレートのPACKAGE_INFOセクションに指定します。PACKAGE_INFOセクションを変更するには，パッケージ情報ツールを使用すると便利です。パッケージ情報ツールの使用方法については，「2.5　PACKAGE_INFOセクションを生成する」を参照してください。

Windows Installerに対応したソフトウェアの場合，「インストールプログラム名」にはMSIファイルの名称を指定します。パッケージングするディレクトリからの相対パスで指定してください。

MSIEXECコマンドのコマンドラインに指定するオプションやプロパティは，インストールするソフトウェアによって異なります。そのソフトウェアのコマンドラインに合わせて，DEFINEセクションやMAINセクションに変更を加えてください。また，トランスフォームのファイル名や格納ディレクトリについても，インストールするソフトウェアに合わせて変更してください。

(5)　AITファイル作成時の注意事項

AITファイル中でMSIEXECコマンドを使う場合は，DMPWINISコマンドの引数にMSIEXECコマンドのコマンドラインを指定してください。DMPWINISコマンドの使用例を次に示します。

図E-5　DMPWINISコマンドの使用例

インストールの実行結果（成功／失敗）はDMPWINISコマンドが取得し，クライアントに結果を通知します。インストールが成功すると0が，失敗すると0以外の値が通知されます。AITファイル中に実行結果を通知する処理を記述する必要はありません。ただし，DMPWINISコマンドの起動成功／失敗は，AITファイルで結果を通知してください。

AITファイルでDMPWINISコマンドを使っている場合，AITファイル中のAIT_PostMessageを使って送信する結果通知コードには，16進数で01～29またはD0～FFを使用してください。これ以外の値は，JP1/NETM/DMが予約しています。

付録E.4　PP識別情報ファイルの作成

通常のAITファイルを作成する場合と同様に，PP識別情報ファイルを作成してください。JP1/NETM/DMが提供しているテンプレートをそのまま使用する場合も，PP識別情報ファイルの作成は必要です。PP識別情報ファイルの作成方法の詳細は，「1.2.1　AITファイルおよびPP識別情報ファイルの作成」を参照してください。

Microsoft Office Project 2003用テンプレートの場合（C:¥Program Files¥HITACHI¥NETMDMPにインストール）

000001;MSOFFICE-2003-PROJECT-STANDARD;2003;Microsoft Office Project Standard 2003;C:¥Program Files¥HITACHI¥NETMDMP¥MASTER¥DMAIT¥TEMPLATE¥OFFICE-2003¥Office2003PrjStandard.ais;PRJSTDE.MSI※;

注※　識別用ファイル名は，必要に応じて変更してください。

Microsoft Office 2003 Resource Kit用テンプレートの場合（C:¥Program Files¥HITACHI¥NETMDMPにインストール）

000001;MSOFFICE-2003-RESOURCE-KIT;2003;Microsoft Office 2003 Resource Kit;C:¥Program Files¥HITACHI¥NETMDMP¥MASTER¥DMAIT¥TEMPLATE¥OFFICE-2003ORK¥Office2003RKTOOLS.ais;ORK.MSI※;

注※　識別用ファイル名は，必要に応じて変更してください。

付録E.5　作成したファイルの格納

作成したPP識別情報ファイルとAITファイルを格納してください。

PP識別情報ファイルは，パッケージャのPCの次のディレクトリに格納してください。

パッケージャのインストール先ディレクトリ¥DMPRM¥PPDEFAIT.DMP

また，ユーザが作成したAITファイルは，パッケージャのPCの，PP識別情報ファイルで定義している場所に格納してください。

付録E.6　パッケージング

AITファイルとPP識別情報ファイルを所定の場所に格納したあと，配布するソフトウェアをパッケージャでパッケージングします。パッケージングの方法は通常と同じです。

トランスフォームをサーバの共有フォルダなどに格納し，クライアントから参照させる場合は，MSIEXECコマンドのコマンドラインにトランスフォームの固定パスを指定してください。

トランスフォームをMSIファイルと一緒に配布する場合は，媒体に格納されているファイルをハードディスクなどにコピーし，トランスフォームと一緒にパッケージングしてください。このとき，トランスフォームは，MSIファイルから参照できるディレクトリに格納してください。MSIEXECコマンドのコマンドラインで指定するTRANSFORMSプロパティには，パッケージングするディレクトリからの相対パスを指定してください。

パッケージングするファイルがEドライブに入っていると仮定して，AITファイルおよびPP識別情報ファイルでの指定方法を説明します。

トランスフォームをMSIファイルと同じディレクトリに格納した場合

パッケージングするディレクトリ

E:¥

AITファイルのパッケージ情報で指定する「インストールプログラム名」

setup.msi

PP識別情報ファイルで指定する「識別用ファイル名」

xxx.ini;yyy.exe

MSIEXECコマンドのコマンドラインに指定するTRANSFORMSプロパティ

TRANSFORMS="setup.mst"

トランスフォームをMSIファイルのサブディレクトリに格納した場合

パッケージングするディレクトリ

E:¥

AITファイルのパッケージ情報で指定する「インストールプログラム名」

setup.msi

PP識別情報ファイルで指定する「識別用ファイル名」

xxx.ini;yyy.exe

MSIEXECコマンドのコマンドラインに指定するTRANSFORMSプロパティ

TRANSFORMS="install¥setup.mst"

トランスフォームをMSIファイルと同じ階層のディレクトリに格納した場合

パッケージングするディレクトリ

E:¥

AITファイルのパッケージ情報で指定する「インストールプログラム名」

disk1¥setup.msi

PP識別情報ファイルで指定する「識別用ファイル名」

disk1¥xxx.ini;disk1¥yyy.exe

MSIEXECコマンドのコマンドラインに指定するTRANSFORMSプロパティ

TRANSFORMS="install¥setup.mst"

付録E.7　リモートインストールの実行

リモートインストールマネージャを使って，ジョブを作成，実行します。リモートインストールマネージャでの操作については，マニュアル「運用ガイド1」の「2.3　リモートインストールの実行」を参照してください。

ここで説明したテンプレートを使ってリモートインストールを実行した場合，ジョブの実行結果は，保守コードおよび保守コードのユーザステータスで返されます。

このテンプレートを実行したときに返される保守コードと，それぞれの要因を次の表に示します。

表E-2　テンプレート実行時の保守コードと要因

保守コード
要因

900000000000​
インストール処理が成功しました。
クライアントユーザによるインストールで，ユーザが「インストール成功」を設定した場合を含みます。

30009F07xx00
（xxはユーザステータス）
インストール処理に失敗しました。
詳細な要因は，ユーザステータスの値でわかります。

ユーザステータスの値
B0：Windows Installerがインストールされていません。または，DMPWINISコマンドの引数に誤りがあります。
B1：DMPWINISコマンドの引数が指定されていません。
C0：DMPWINISコマンドの起動時にエラーが発生しました。

30009F0B0000
AITファイルの処理がタイムアウトしました。

3000AD010000
クライアントユーザによるインストールで，ユーザが「インストール失敗」を設定しました。

付録F　各バージョンの変更内容

＜この節の構成＞

(1)　10-10の変更内容※

(2)　09-51の変更内容

(3)　09-50の変更内容

(4)　09-12の変更内容

(5)　09-10の変更内容

(6)　09-01の変更内容

(7)　09-00の変更内容

(8)　08-52の変更内容

(9)　08-50の変更内容

(10)　08-11の変更内容

(11)　08-10の変更内容

(12)　08-02の変更内容

(13)　08-00の変更内容

(1)　10-10の変更内容※

Windows 98，Windows Me，Windows NT 4.0およびWindows 2000を次の製品の適用OS外とした。

JP1/NETM/DM Manager

Windows 98，Windows MeおよびWindows NT 4.0を次の製品の適用OS外とした。

JP1/NETM/DM Client

JP1/NETM/DM Client - Base

JP1/NETM/DM Client - Operation Log Feature

JP1/NETM/DM Client - Delivery Feature

JP1/NETM/DM Client - Remote Control Feature

適用OSにWindows 8.1およびWindows Server 2012 R2を追加した。

注※

10-10リリース以降にサポートされた機能を含みます。

(2)　09-51の変更内容

適用OSにWindows 8およびWindows Server 2012を追加した。

(3)　09-50の変更内容

機能追加なし。

(4)　09-12の変更内容

機能追加なし。

(5)　09-10の変更内容

機能追加なし。

(6)　09-01の変更内容

適用OSにWindows 7およびWindows Server 2008 R2を追加した。

ウィンドウ処理の注意事項を追加した。

API関数名「AIT_GetOSType」のWindows Server 2008の「nMinorVersion（出力用）」の値を「1」から「0」に変更した。

(7)　09-00の変更内容

JP1/NETM/DMシリーズのマニュアルで用語を統一した。

(8)　08-52の変更内容

64ビットバージョンJP1/NETM/DM Clientの名称を，64ビット版JP1/NETM/DM Clientに変更した。

(9)　08-50の変更内容

適用OSにWindows Server 2008を追加した。

次のAPIにWindows Server 2008の説明を追加した。

AIT_GetOsType

AIT_TaskbarItemClk

AIT_TaskbarItemExists

AIT_TaskbarItemIndex

AIT_TaskbarItemSelected

(10)　08-11の変更内容

対象製品に，Windows Vista版のJP1/NETM/DM Client - Operation Log Featureを追加した。

(11)　08-10の変更内容

AITファイル作成時に，パッケージ情報ツールからPP識別情報ファイルを生成できるようにした。

Windows Vistaに対応した次のプログラムを対象製品に追加した。

JP1/NETM/DM Client

JP1/NETM/DM Client - Base

JP1/NETM/DM Client - Delivery Feature

JP1/NETM/DM Client - Remote Control Feature

AITファイル編集時のメッセージ「AITG123-E」，「AITG124-E」，「AITG125-E」を追加した。

(12)　08-02の変更内容

AIT言語で使用するAPIの説明で，機能説明と形式説明の順序を入れ替えた。

(13)　08-00の変更内容

JP1/NETM/DMが提供するAITファイルに，秘文連携機能で使用するファイルを追加した。

付録G　用語解説

ア行｜カ行｜タ行｜ナ行｜ハ行

ア行

イベント

ユーザの操作やプログラムの状態変化などのコンピュータが検知できる事象です。ユーザ操作によって発生するイベントとしては，マウスクリック，メニュー選択，キーボード操作，時間経過などがあります。そのほかのイベントは，未処理例外や，ウィンドウの作成および消滅などのように，アプリケーションの内部またはオペレーティングシステムの内部で発生するものです。

カ行

関連付けるラベル

コントロールの一種です。このテキストをユーザが操作したり変更したりすることはできません。一般に，関連づけるラベルは，キャプションが付いていないリストボックスなど，別のコントロールの説明としても使用されます。タブオーダーで，コントロールの直前のテキストが関連づけるラベルになります。

キャプション

コントロールの上部またはウィンドウのタイトルとして表示されるテキストです。

子ウィンドウ

別のウィンドウ（親ウィンドウ）の子孫に当たるウィンドウです。例えば，一般にアプリケーションは，子ウィンドウを使って，一つの親ウィンドウのクライアントエリアを複数の作業エリアに分割します。ダイアログボックスの内部では，チェックボックスやテキストボックスなどの各種コントロールが，ダイアログボックスの子ウィンドウに相当します。

コントロール

テキストボックスやコマンドボタンなど，ウィンドウ上に配置されているグラフィカルオブジェクトのことです。コントロールは，コントロールを表示しているウィンドウの子ウィンドウに相当します。

タ行

タブオーダー

タブキーを押して，フォーカスをあるコントロールから次のコントロールへと移動させていく際の順序のことです。

ナ行

日時ピッカー

コントロールの一種で，日付または時刻を選択できます。

ハ行

ハンドル

ユニークな4バイトの整数値です。これを使用してウィンドウやコントロールを識別してアクセスできます。この値は，オペレーティングシステムによって割り当てられています。

フォーカス

ユーザーインターフェースオブジェクト（ウィンドウ，ビュー，ダイアログボックス，ボタンなど）の一時的な属性で，フォーカスされたオブジェクトは，ユーザ入力を受け取ることができます。例えば，テキストボックスが「フォーカスされた」とき，ユーザが文字列を入力すると，その文字列がテキストボックスに表示されます。通常フォーカスは，強調表示で示されます。

索引

[Ａ][Ｂ][Ｃ][Ｄ][Ｅ][Ｆ][Ｇ][Ｉ][Ｊ][Ｍ][Ｐ][Ｒ][Ｓ][Ｖ][Ｗ]
[ア行][カ行][サ行][タ行][ナ行][ハ行][マ行][ヤ行][ラ行]

(英字)

(Ａ)

ait.log

AIT_ASCIIToChar

AIT_ChangeFileAttribute

AIT_CharToASCII

AIT_CheckResolution

AIT_ComboBoxCloseUp

AIT_ComboBoxDropDown

AIT_CtrlClick

AIT_CtrlItemCount

AIT_CtrlItemIndex

AIT_CtrlSetFocus ,[2]

AIT_CtrlSetFocusの使用例 ,[2]

AIT_DefaultButtonCount

AIT_DirCopy

AIT_DirCreate

AIT_DirRemove

AIT_DMPSTRC

AIT_Exec

AIT_ExecCommand

AIT_ExistWindow

AIT_Exit

AIT_FileClose

AIT_FileCopy

AIT_FileDelete

AIT_FileEOF

AIT_FileExists

AIT_FileGetLine

AIT_FileGetPos

AIT_FileOpen

AIT_FilePutLine

AIT_FileRename

AIT_FileSetPos

AIT_FileSize

AIT_FindCloseFile

AIT_FindFirstFile

AIT_FindNextFile

AIT_FindSubStr

AIT_FocusWindow ,[2]

AIT_FocusWindowの使用例 ,[2]

AIT_GetCtrlText

AIT_GetCtrlTextLen

AIT_GetCurrentDirectory

AIT_GetDate

AIT_GetDtPickerDate

AIT_GetDtPickerTime

AIT_GetEditCurrentLineIndex

AIT_GetEditFirstLineIndex

AIT_GetEditTextLineLen

AIT_GetEnv

AIT_GetErrorText

AIT_GetIndexText

AIT_GetIndexTextLen

AIT_GetKeyState

AIT_GetLastError

AIT_GetMenu

AIT_GetMenuIndex

AIT_GetMenuText

AIT_GetOSType

AIT_GetProfileFirstSection

AIT_GetProfileFirstSectionNames

AIT_GetProfileNextSection

AIT_GetProfileNextSectionNames

AIT_GetProfileString

AIT_GetSubMenu

AIT_GetSubStr

AIT_GetTime

AIT_GetWindowText

AIT_IMEGetConversionStatus

AIT_IMEGetOpenStatus

AIT_IMEGetProperty

AIT_IMEGetStatusWindowPos

AIT_IMESetConversionStatus

AIT_IMESetOpenStatus

AIT_IMESetStatusWindowPos

AIT_IMESimulateHotKey

AIT_InitLog

AIT_IsEmpty

AIT_LogMessage

AIT_MenuItemClick

AIT_MessageBox

AIT_MinWnd

AIT_MouseClick

AIT_MouseDblClk

AIT_MouseDown

AIT_MouseDragDrop

AIT_MouseMoveTo

AIT_MouseUp

AIT_PlayKey ,[2]

AIT_PlayKeyの使用例 ,[2]

AIT_PostMessage

AIT_RegCloseKey

AIT_RegCreateKey

AIT_RegDeleteKey

AIT_RegDeleteValue

AIT_RegGetDWORDValue

AIT_RegGetStringValue

AIT_RegisterWindowMessage

AIT_RegKeyExists

AIT_RegOpenKey

AIT_RegSetDWORDValue

AIT_RegSetStringValue

AIT_RegValueExists

AIT_SelectIPAddressField

AIT_SelectListItem

AIT_SelectMultipleListItem

AIT_SelectText

AIT_SetActWnd

AIT_SetCheck

AIT_SetComboEditSelText

AIT_SetCurrentDirectory

AIT_SetDefaultWaitTimeout

AIT_SetDtPickerDate

AIT_SetDtPickerTime

AIT_SetKeyState

AIT_SetProfileString

AIT_SetScrollPos

AIT_SetSpinPos

AIT_SetWndPos

AIT_SetWndPosSize

AIT_Sleep

AIT_StatusBox

AIT_StatusBoxClose

AIT_StrLeft

AIT_StrLength

AIT_StrLower

AIT_StrLTrim

AIT_StrRight

AIT_StrRTrim

AIT_StrTrim

AIT_StrUpper

AIT_TaskbarClk

AIT_TaskbarHasFocus

AIT_TaskbarItemClk

AIT_TaskbarItemExists

AIT_TaskbarItemIndex

AIT_TaskbarItemSelected

AIT_TaskbarSetFocus

AIT_VerifyCharPos

AIT_VerifyCount

AIT_VerifyDateTime

AIT_VerifyDefaultButton

AIT_VerifyEnabled ,[2]

AIT_VerifyEnabledの使用例 ,[2]

AIT_VerifyExistence ,[2]

AIT_VerifyExistenceの使用例 ,[2]

AIT_VerifyFirstVisible

AIT_VerifyFocus

AIT_VerifyIndex

AIT_VerifyKeyState

AIT_VerifyLine

AIT_VerifyLocation

AIT_VerifyMenuChecked

AIT_VerifyMenuEnabled

AIT_VerifyNoOfCtrls

AIT_VerifyPos ,[2]

AIT_VerifyPosの使用例 ,[2]

AIT_VerifySelected

AIT_VerifyState

AIT_VerifyText

aitapi.log

aitexec.log

AITファイル

AITファイルとは

AITファイルの監視時間

AITファイルの完成例

AITファイルの形式

AITファイルの構造

AITファイルの構造と作成手順

AITファイルの作成

AITファイルを作成および使用する場合の注意事項

AITファイルを使ったリモートインストール

AITファイルを使ったリモートインストール手順

API一覧

APIの詳細

APIの使用例

APIの説明形式

APIリファレンス

Automatic Installation Toolの機能

(Ｂ)

bool型

break

(Ｃ)

continue

(Ｄ)

DEFINE

do-while

(Ｅ)

ECompany

ERROR

EUser

(Ｆ)

float型

for-next

(Ｇ)

goto

(Ｉ)

if-else-endif

IME操作

IME操作に関するマクロ

INIファイル操作

InstallDirectory

InstallDrive

InstallerName

InstallKind

integer型

(Ｊ)

JCompany

JP1/NETM/DM固有のグローバル変数

JP1/NETM/DMで提供するAITファイル

JP1/NETM/DMで提供するAITファイルの設定内容

JP1/NETM/DMで提供するAITファイルを使用する場合の注意事項

JP1/NETM/DMで提供するレコーダファイル

JP1/NETM/DMとのインターフェース

JUser

(Ｍ)

MAIN

Maker

MSIEXECコマンド

(Ｐ)

PACKAGE_INFO

PACKAGE_INFOセクションの生成手順

PACKAGE_INFOセクションを生成する

PackageID

PPDEFAIT.DMP

PP識別情報ファイル ,[2]

PP識別情報ファイルの形式

PP識別情報ファイルの作成

PP識別情報ファイルの作成（Windows Installer）

PP識別情報ファイルの作成（レコーダファイルを使用する場合）

PP識別情報ファイルの生成手順

PP識別情報ファイルの編集方法

PP識別情報ファイルの例

PP識別情報ファイルの例（レコーダファイルを使用する場合）

Product

(Ｒ)

RecordFileDirectory

RecordFileVersion

(Ｓ)

SetFdNumber

string型

switch-endswitch

(Ｖ)

Version

(Ｗ)

WFndWndC関数

while-loop

Windows Installer

Windows Installerに対応したソフトウェアのリモートインストール

(ア行)

(あ)

アウトプットウィンドウ ,[2]

(い)

イベント（用語解説）

イベントフラグ

インストール画面の順序を調査する

インストール画面の属性を調査する

インストール条件

インストール操作をレコーディングする

インストール定義ファイル

インストール定義ファイルの作成

インストール定義ファイルの例

インストールプログラムと識別用ファイルの指定方法

(う)

ウィンドウ処理について

ウィンドウ処理の例

ウィンドウ操作

ウィンドウ操作に関するマクロ

ウィンドウの検索で使用するAPI

ウィンドウの操作で使用するAPI

ウィンドウの属性を取得する

ウィンドウフラグ

［ウィンドウプロパティ］ダイアログボックス

ウィンドウプロパティツール

(え)

エラー処理の追加

エラー処理の追加とリターンコードの設定例 ,[2]

エラーロギングに関するマクロ

演算子

演算子の優先順位

(お)

親ウィンドウにジャンプ

(カ行)

(か)

カーソル行の前まで実行する

解析時のメッセージ

解像度のチェック

確認操作

確認操作に関するマクロ

各バージョンの変更内容

型変更

加法演算子

監視ウィンドウ

関数呼び出し

関連付けるラベル（用語解説）

関連ファイルの作成手順

(き)

キーワード

起動と終了

キャプション（用語解説）

(く)

グローバル変数

グローバル変数の利用例

(け)

結合順序

(こ)

子ウィンドウ（用語解説）

子ウィンドウがある場合のレコーダファイルの作成方法

コントロール（用語解説）

コントロールの属性を取得する

コンパイル

(サ行)

(さ)

再起動を伴うインストール操作のレコーディング

最初の子ウィンドウにジャンプ

サイレントインストール

作成したファイルの格納（Windows Installer）

(し)

実行

実行時のメッセージ

修正のポイント

終了を正しく判定する

乗除演算子

(す)

ステートメント単位で実行する

［ステップオーバー］

(せ)

セクション

セクションの概要

(そ)

属性の取得

(タ行)

(た)

代入操作

多重代入

タスクバー操作

タブオーダー（用語解説）

単項演算子

単項否定

単項プラス

単項マイナス

(ち)

調査内容

(つ)

次のウィンドウにジャンプ

(て)

定数

ディレクトリ操作

ディレクトリ操作に関するマクロ

データ型

デバッグ

デバッグする

［デバッグの中断］

デバッグを終了する

テンプレート

テンプレートのカスタマイズ

テンプレートの定義内容

(と)

同一ウィンドウ名が出力される場合のレコーダファイルの作成方法

特殊な文字

特定の位置まで実行する

トラブルシューティング

(ナ行)

(に)

二項演算子

日時操作

日時ピッカー（用語解説）

(ハ行)

(は)

［パッケージ情報］ダイアログボックス

パッケージ情報ツール

パッケージャとの連動

パッケージング（Windows Installer）

パッケージングするディレクトリ

判定条件

ハンドル（用語解説）

(ひ)

比較演算子

ビット単位AND演算子

ビット単位OR演算子

ビット単位演算子

ビルド

(ふ)

ファイル操作

ファイル操作に関するマクロ

ファイルの格納

ファインダ

フォーカス（用語解説）

復帰と改行を削除する（APIの使用例）

フラグについて

［ブレークポイントの設定］ダイアログボックス

［ブレークポイントの追加／削除］

ブレークポイントまで実行する

ブレークポイントを設定する

プログラムフローの制御

文法チェック

(へ)

変化するテキストをウィンドウの判定に使わない

編集

編集ウィンドウ使用時のメッセージ

変数

変数を監視する

変数を変更する

(マ行)

(ま)

前のウィンドウにジャンプ

マクロ

(む)

無効フラグ

(め)

メッセージ操作

メッセージ操作に関するマクロ

メッセージの確認

メッセージの形式

メニュー一覧

(も)

文字列操作

文字列を抽出する（APIの使用例）

(ヤ行)

(ゆ)

優先順位

ユティリティ操作

ユティリティ操作に関するマクロ

(よ)

用語解説

(ラ行)

(ら)

ラベル

(り)

リターンコードの設定

リモートインストール時にレジストリのHKEY_CURRENT_USERを操作する（APIの使用例）

リモートインストールの実行（Windows Installer）

リモートインストールマネージャとの連動

(れ)

レコーダ

レコーダ操作

［レコーダ］ダイアログボックス

レコーダファイル

レコーダファイル作成後の確認

レコーダファイルの監視時間の設定

レコーダファイルの完成例

レコーダファイルの構造

レコーダファイルの作成手順

レコーダファイルをコンパイルする

レコーダファイルを作成する

レコーダファイルを使ったリモートインストール

レコーダファイルを使ったリモートインストールの概要

レコーダファイルをパッケージャに組み込む

レコーディング

レコーディングの一時停止

レコーディングの再開

レジストリ操作

レジストリ操作に関するマクロ

(ろ)

ログに出力する

ログファイル

論理AND演算子

論理OR演算子

論理演算子

■ 商標類

Acrobatは，Adobe Systems Incorporated(アドビシステムズ社)の商標です。
ActiveXは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Adobe，およびReaderは，Adobe Systems Incorporated(アドビシステムズ社)の米国ならびに他の国における商標または登録商標です。
DOS/Vは，日本アイ・ビー・エム(株)の商品名称です。
InstallShieldは，Macrovision Corporationの米国および/ または他の国における登録商標または商標です。
Internet Explorerは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Itaniumは，アメリカ合衆国およびその他の国におけるIntel Corporationの商標です。
ＭcAfee, VirusScan, NetShieldは，米国法人 McAfee, Inc. またはその関係会社の米国またはその他の国における登録商標です。
MicrosoftおよびHyper-Vは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Microsoft Officeは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
MS-DOSは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Norton AntiVirusは，Symantec Corporationの米国およびその他の国における商標または登録商標です。
ODBCは，米国Microsoft Corporationが提唱するデータベースアクセス機構です。
OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。
UNIXは，The Open Groupの米国ならびに他の国における登録商標です。
Visual Testは，米国Rational Software Corporationの商品名称です。
Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows NTは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Windows Vistaは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
秘文は，株式会社日立ソリューションズの登録商標です。
その他記載の会社名，製品名は，それぞれの会社の商標もしくは登録商標です。