exec
2021/05/16 12:04
exec 機能
[その他のコマンド]アプリケーションを起動します。
コマンドライン
exec <command line> [<show> [<wait> [<current directory>]]]
機能説明
コマンドライン文字列 <command line> に従い、アプリケーションを起動します。<command line>
コマンドプロンプトで実行するのと同様のコマンドラインを指定します。64bit Windows 上でマクロを実行している場合、WOW64 に対応したアプリケーションを起動すると思わぬ動作をすることがあります。
ttpmacro.exe は 32bit なので、32bit のアプリケーションが起動します。
アプリケーションによっては 64bit OS 上で 32bit のプロセスが起動されると、64bit のプロセスを起動し直すことがあります。
このため <wait> を指定しても、マクロが起動した 32bit のアプリケーションはすぐに終了してしまうため、意図せず次のマクロコマンドに進んでしまうことがあります。
この現象を回避するには、以下の使用例にあるとおり sysnative エイリアスを用いて、ネイティブのシステムディレクトリのアプリケーションを起動してください。
なお、起動したアプリケーションを起動の戻り値の扱いは、次のとおりです。
バージョン | 戻り値の扱い |
---|---|
OSS 化以降~4.62 | 戻り値を扱わない |
4.63~4.102 | <wait> に 1 が指定された時のみ、アプリケーションの終了コードを返す |
4.103以降 | <wait> の指定内容または省略によって <result> に値を返す |
[<show>]
<show> パラメータには以下の文字列を指定することができます。文字列 | 指定内容 |
---|---|
hide | ウインドウを隠します。 |
minimize | ウインドウを最小化します。 |
maximize | ウインドウを最大化します。 |
show | 指定しない場合と同じ動作(デフォルト)の挙動をします。 |
[<wait>]
<wait> パラメータに 1 を指定すると、起動したアプリケーションが終了するまで待ちます。バージョン 4.63 以降 4.102 まで
オプション <wait> が 1 の場合に、アプリケーションの終了コードが <result> へ格納されます。オプション <wait> が 0 または省略された場合、アプリケーションを起動するのみで <result> は変更しません。
バージョン 4.103 以降
オプション <wait> が省略されたか、指定された値によって、システム変数 <result> へ格納する値が変わります。<wait>の指定値 | <result>の数値 | <result>の意味 |
---|---|---|
0*1 | -1 | アプリケーションの起動に失敗した。 |
0 | アプリケーションの起動に成功した。 | |
1 | -1 | アプリケーションの起動に失敗した。 |
-1以外 | アプリケーションの終了コード |
[<current directory>]
<current directory> パラメータは、起動するアプリケーションのカレントディレクトリを指定することができます。(バージョン 4.78以降)パラメータの説明
指定するパラメータは以下の通りです。パラメータ | 型 | パラメータ説明 |
---|---|---|
<command line> | 文字列 | コマンドラインを指定します。 |
<show> | 文字列 | アプリケーションのウィンドウ状態を指定します。 |
<wait> | 整数 | 起動アプリケーションの終了を待機するか指定します。 |
<current directory> | 文字列 | カレントディレクトリを指定します。 |