EXEC

構文
  1. Integer = EXEC( exe名, [同期フラグ, X, Y, 幅, 高さ] )
引数
exe名
起動したいアプリ名
同期フラグ
FALSE
待たない(デフォルト)
TRUE
そのアプリが終了するまで待つ
X
Window位置X
Y
Window位置Y
Window幅
高さ
Window高さ
戻値
そのWindowを識別するIDを返す
終了待ちが指定された場合は、そのアプリの終了コードを返す
注:ストアアプリ、Explorer等の別プロセスを呼ぶものは、期待どおりに戻値を返さない事がある

プログラム実行例

パソコンの音量を上げる

IFB KINDOFOS() >= 12 THEN
	KBD(VK_VOLUME_UP)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
ENDIF
  1. script.function.KINDOFOS(1)
  2. script.function.KBD(2)
  3. script.function.EXEC(4)
  4. script.function.SETSLIDER(5)
  5. script.function.GETSLIDER(5)
解説
  1. 1-6行目
    IFB KINDOFOS() >= 12 THEN
    	KBD(VK_VOLUME_UP)
    ELSE
    	ID = EXEC("SNDVOL32.exe /t")
    	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
    ENDIF
    OSがWindows2000以降ならば、音量を上げる。Windows2000よりも前ならば、「SNDVOL32.exe /t」でボリュームコントロールの音量機能のみを起動し、スライダーを調整することで音量を上げる。
-PR-

パソコンの音量を下げる

IFB KINDOFOS() >= 12
	KBD(VK_VOLUME_DOWN)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) + 10)
ENDIF
  1. script.function.KINDOFOS(1)
  2. script.function.KBD(2)
  3. script.function.EXEC(4)
  4. script.function.SETSLIDER(5)
  5. script.function.GETSLIDER(5)

メモ帳のメニューを取得・出力

DIM ID = EXEC("notepad")

FOR item IN GETITEM(ID, ITM_MENU)
	PRINT item
NEXT

CTRLWIN(ID, CLOSE)
  1. script.function.EXEC(1)
  2. script.function.GETITEM(3)
  3. script.function.CTRLWIN(7)
結果
ファイル\新規
ファイル\新しいウィンドウ
ファイル\開く
ファイル\上書き保存
ファイル\名前を付けて保存
ファイル\ページ設定
ファイル\印刷
ファイル\メモ帳の終了
編集\元に戻す
編集\切り取り
編集\コピー
編集\貼り付け
編集\削除
編集\Bing で検索
編集\検索
編集\次を検索
編集\前を検索
編集\置換
編集\行へ移動
編集\すべて選択
編集\日付と時刻
書式\右端で折り返す
書式\フォント
表示\ズーム\拡大
表示\ズーム\縮小
表示\ズーム\既定の倍率に戻す
表示\ステータス バー
ヘルプ\ヘルプの表示
ヘルプ\フィードバックの送信
ヘルプ\バージョン情報
解説
  1. 1行目
    DIM ID = EXEC("notepad")
    
    メモ帳を起動し、IDを取得。
  2. 3-5行目
    FOR item IN GETITEM(ID, ITM_MENU)
    	PRINT item
    NEXT
    
    メニューを配列で取得し、出力。
  3. 7行目
    CTRLWIN(ID, CLOSE)
    
    メモ帳を閉じる。
-PR-

ペイントを起動

DIM ID = EXEC("mspaint")
//CTRLWIN(ID, CLOSE)
  1. script.function.EXEC(1)
  2. script.function.CTRLWIN(3)
解説
  1. 1行目
    DIM ID = EXEC("mspaint")
    
    ペイントを起動し、IDを取得する。
  2. 2行目
    //CTRLWIN(ID, CLOSE)
    
    ペイントを終了する。

電卓(ストアアプリ)を起動

EXEC("calc")
DIM ID = GETID("電卓")

// CTRLWIN(ID, CLOSE)
  1. script.function.EXEC(1)
  2. script.function.GETID(2)
  3. script.function.CTRLWIN(4)
解説
  1. 1行目
    EXEC("calc")
    
    電卓を起動。
  2. 2行目
    DIM ID = GETID("電卓")
    
    電卓のIDを取得。EXEC関数は起動したときに戻値としてIDを返すが、ストアアプリなど一部のアプリはIDを返してくれないので起動後にGETID関数で取得します。
  3. 4行目
    // CTRLWIN(ID, CLOSE)
    電卓を閉じる。
-PR-

既定ブラウザで指定したURLを開く

EXEC("cmd /c start=http://www.google.com")
  1. script.function.EXEC(1)

ペイントを起動しウィンドウの位置とサイズを設定

DIM ID = EXEC("mspaint")
ACW(ID, 0, 0, G_SCREEN_W / 2, G_SCREEN_H / 2)
  1. script.function.EXEC(1)
  2. script.function.ACW(2)
解説
  1. 1行目
    DIM ID = EXEC("mspaint")
    
    EXEC関数で「ペイント」を起動し、IDを取得。
  2. 2行目
    ACW(ID, 0, 0, G_SCREEN_W / 2, G_SCREEN_H / 2)
    
    ペイントの位置を(x, y) = (0, 0)に、幅を画面幅の半分、高さを画面高の半分に設定する。
-PR-

仮想キーで文章を入力

DIM ID = EXEC("notepad")

CTRLWIN(ID, ACTIVATE)

SCKEY(ID, VK_SHIFT, VK_T)
SCKEY(ID, VK_H, VK_I, VK_S, VK_SPACE, VK_I, VK_S, VK_SPACE, VK_A, VK_SPACE, VK_P, VK_E, VK_N, VK_OEM_PERIOD)
  1. script.function.EXEC(1)
  2. script.function.CTRLWIN(3)
  3. script.function.SCKEY(5-6)
結果
This is a pen.

メッセージボックスで処理分岐

IF MSGBOX("メモ帳を起動しますか?", BTN_YES OR BTN_NO) = BTN_YES THEN EXEC("notepad")
  1. script.function.MSGBOX(1)
  2. script.function.EXEC(1)

メモ帳を幅400、高さ300で画面中央に表示

DIM w = 400
DIM h = 300
DIM sw = G_SCREEN_W
DIM sh = G_SCREEN_H
DIM ID = EXEC("notepad", FALSE, (sw - w) / 2, (sh - h) / 2, w, h)

//CTRLWIN(ID, CLOSE2)
  1. script.function.EXEC(5)
  2. script.function.CTRLWIN(7)

EXECで使用できるコマンド

コマンド アプリケーション
acrord32 Adobe Reader
calc 電卓
charmap 文字コード表
cmd コマンドプロンプト
control コントロールパネル
dxdiag DirectX診断ツール
eudcedit 外字エディタ
eventvwr イベントビューア
excel Microsoft Excel
explorer エクスプローラ
magnify 拡大鏡
mmc Microsoft 管理コンソール
msconfig システム設定ユーティリティ
mspaint ペイント
mstsc リモート デスクトップ接続
notepad メモ帳
nslookup NSLOOKUP
outlook Outlook
pbrush ペイント
powerpnt Microsoft PowerPoint
regedit レジストリ エディター
regedt Registry Editor Utility
sndvol 音量ミキサー
taskmgr タスクマネージャー
winver Windows のバージョン情報
winword Microsoft Word
wordpad ワードパッド
write ワードパッド
参考文献
ファイル名を指定して実行ダイアログから起動するプログラム一覧:Windows(ウィンドウズ)の使い方