API version 1

- ‐

syncExec

外部アプリケーションを起動し終了待機します。

セキュリティ警告ダイアログ

ユーザに対してアプリケーション実行の警告ダイアログを表示します。警告ダイアログでユーザがOKを選択した場合に限り、アプリケーションは実行されます。


../../../../_images/image002.png

セキュリティレベルによる動作の違い

セキュリティレベルは設定ファイル(crsconf)の security.file.level プロパティで指定します。

レベル

説明

0

警告ダイアログは表示せず、そのまま実行します。

1

警告ダイアログを表示し、OKならば実行します。

2

実行できません(例外を発生します)。

注釈

[Biz/Browser DT 概要マニュアル]-[設定ファイル(crsconf)について]

呼出形式一覧

呼出形式

説明

integer syncExec(string program[, string arguments[, integer mode[, integer timeout]]])

外部アプリケーションを起動し終了待機します。

戻り値一覧

戻り値

説明

integer

アプリケーションを起動できた場合はtrue、 そうでなければfalseを返します。

引数一覧

引数

説明

program

起動するアプリケーションの実行ファイルへのパスを指定します。

arguments

起動するアプリケーションに指定する引数を指定します。

省略時は空文字列が指定されます。

mode

ウィンドウ表示モードを下記の定数から指定します。

定数値

説明

MODE_DEFAULT

ウィンドウのサイズを自動的に決定します。

MODE_MAXIMIZE

ウィンドウを最大化して表示します。

MODE_MINIMIZE

ウィンドウを最小化して表示します。

省略時はMODE_DEFAULTが指定されます。

timeout

終了待機時間
指定時間が経過した場合、プロセスは強制的に終了されます。
省略時は無限に待機します。

例外

識別子

説明

SYS-23:5

メソッドの引数が不正です

SYS-80:1

この操作はセキュリティ上の制約により実行できません

CRS::Common::Core::Runtime-1:3

指定のファイルは見つかりませんでした

CRS::Common::Core::Runtime-1:6

外部アプリケーションの実行がタイムアウトしました

関連項目

exec メソッド

定数一覧

------------------------------------------------------------

定数値

説明

MODE_DEFAULT

ウィンドウのサイズを自動的に決定します。

MODE_MAXIMIZE

ウィンドウを最大化して表示します。

MODE_MINIMIZE

ウィンドウを最小化して表示します。



使用例 CRSダウンロード ダウンロード(Runsmpl.xlsx)

Form Runtimes {
   x = 0;
   y = 0;
   width = 800;
   height = 600;

   var rt = new Runtime;
   /*
            このサンプルは電卓を起動し、
         ブラウザで biz-browser.jp に接続し、
        C:\Users\user\AppData\Roaming\OpenStream\BizBrowserDT\public_root/Runsmpl.xlsx
        Biz上では、"/Runsmpl.xlsx" のexcelを開き、
        最後にメモ帳を開きます。メモ帳を閉じないと終われません。
   */

   rt.exec("calc") ;
   print("環境 ",rt.getEnv("TEMP"));
   print("ホスト名 ",rt.getHostName() ) ;
   var un = rt.getUserName()  ;
   print("ユーザー名 ",un ) ;
   var uu = rt.getUuid( un ,"pass") ;
   print("UUID ", uu ) ;
   print("削除は ",rt.deleteUuid(un,"pass") );
   rt.ShellLink("http://biz-browser.jp");
   rt.ShellOpen("/Runsmpl.xlsx");
   print("2nd ",rt.syncExec("notepad" ) ) ;
}