アプリを起動します。第二引数(同期フラグ)にTRUEを指定した場合は呼び出したアプリが終了するまで処理を待機し、ウィンドウIDの代わりに終了コードを受け取ります。 終了コード は呼び出された側のUWSファイルの<ruby>EXITEXIT文<rt></rt></ruby>から受け取ることができます。
- 構文
- Integer = EXEC( exe名, 同期フラグ, X, Y, 幅, 高さ )
- 引数
- exe名 (String)必須
- 起動したいアプリ名
- 同期フラグ (Boolean = False)省略可
- FALSE
- 待たない(デフォルト)
- TRUE
- そのアプリが終了するまで待つ
- X (Integer)省略可
- Window位置X
- Y (Integer)省略可
- Window位置Y
- 幅 (Integer)省略可
- Window幅
- 高さ (Integer)省略可
- Window高さ
- 戻り値
- そのWindowを識別するIDを返す
終了待ちが指定された場合は、そのアプリの終了コードを返す
注:ストアアプリ、Explorer等の別プロセスを呼ぶものは、期待どおりに戻値を返さない事がある
使い方
アプリのパスを指定
C:\Program Files (x86)\UWSC\UWSC.exeを起動しウィンドウIDを出力します。起動するアプリのパスを指定します。
- 結果
notepad.exeを起動します。パスが通っているアプリであればファイル名だけでも起動することができます。
第一引数に指定できるのはexe名のみなので、拡張子(.exe)は記述しなくても問題ありません。
メモ帳を(x, y) = (0, 0)の位置で起動します。
メモ帳を(x, y) = (0, 0)の位置、幅600、高さ400で起動します。
コマンドライン引数
コマンドライン引数を渡すにはEXEC("exe名 引数1 [引数2] …")のように記述します。
大抵の場合、exe名に指定されたアプリで引数1のファイルが開かれます。
以下はメモ帳でsample.txtを開きます。
sample.txtは実行するUWSファイルと同じディレクトリにあります。
ペイントでimage.pngを開く場合は以下のように記述します。
exe名や引数にスペースが含まれる場合はその値を<#DBL>で囲みます。
UWSCのファイルを開く
UWSファイルを呼び出すにはEXEC("UWSC ファイル名.uws [引数1] [引数2] …")の形式で指定します。呼び出された側はPARAM_STR[0]で引数1、PARAM_STR[1]で引数2のようにアクセスできます。
以下はreadfile.uwsにsample.txtを引数として渡します。
呼び出された側はPARAM_STRで引数にアクセスでき、PARAM_STR[0]にはsample.txtが代入されています。
EXEC関数でsample.txtを開くことができたらメッセージボックスで内容を表示し、 終了コード として0を、ファイルが存在しないなど開くことができなかった場合は1をEXEC関数の戻り値として返します。
起動したいプログラム(exe)のパスの探し方
アプリを起動している状態で、タスクマネージャーを起動。[プロセス]からパスを探したいアプリを選択・右クリックし[プロパティ]を開くと、[セキュリティ]タブのオブジェクト名に記載されているパスをexe名として指定できます。
タスクマネージャーは[スタート]を右クリックし、表示されたメニューから[タスク マネージャー]をクリックで起動できます。



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 | ワードパッド |
プログラム実行例
メモ帳の右クリックメニューを表示させる
パソコンの音量を上げる
パソコンの音量を上げます。Windows2000以降のOSの場合は仮想キーの操作で音量を上げ、Windows 2000より前のOSの場合はボリューム調整ツールを操作することで音量を上げます。
パソコンの音量を下げる
パソコンの音量を下げます。Windows2000以降のOSの場合は仮想キーの操作で音量を下げ、Windows 2000より前のOSの場合はボリューム調整ツールを操作することで音量を下げます。
電卓を操作し計算をする
電卓を操作します。
メモ帳を起動し、アクティブにする
メモ帳のメニューバーを取得
メモ帳のメニューバーにあるすべてのメニュー項目を取得します。
メニュー項目をクリックするには[createLink url="/script/function/clkitem/"]を使います。
ペイントを起動
電卓(ストアアプリ)を起動
メモ帳に本文を入力し[名前を付けて保存]ダイアログボックスを開いて保存する
既定ブラウザで指定したURLを開く
ペイントを起動しウィンドウの位置とサイズを設定
仮想キーで文章を入力
メッセージボックスで処理分岐
メモ帳を幅400、高さ300で画面中央に表示
音声認識でアプリを操作
テキストファイルをメモ帳にドロップします
C:\Program Files (x86)\UWSC\Readme.txtをメモ帳にドラッグ&ドロップして開きます。
画像ファイルをペイントにドロップします
D:\Desktop\sample.pngをペイントにドラッグ&ドロップして開きます。
ExcelファイルとCSVファイルをExcelにドロップして開く
CREATEOLEOBJで起動したExcelにファイルをドロップするとなぜか落ちるから、EXECで起動。
メモ帳の指定したメニュー項目を無効化する
[ファイル]のメモ帳の終了をグレー表示でクリックできないようにする。
他の項目は以下の表を参照。
値は、(GetSubMenu第ニ引数)と(EnableMenuItem第二引数)を表しています。
例えばフォントの場合、2-1なので以下のように指定します。
[syntaxHighlight]GetSubMenu(GETCTLHND(ID, GET_MENU_HND), 2) EnableMenuItem(hwnd, 1, MF_BYPOSITION + MF_GRAYED)[/syntaxHighlight]| 値 | 項目 |
|---|---|
| 0-0 | 新規 |
| 0-1 | 新しいウィンドウ |
| 0-2 | 開く |
| 0-3 | 上書き保存 |
| 0-4 | 名前を付けて保存 |
| 0-6 | ページ設定 |
| 0-7 | 印刷 |
| 0-9 | メモ帳の終了 |
| 値 | 項目 |
|---|---|
| 1-11 | 置換 |
| 1-14 | すべて選択 |
| 1-15 | 日付と時刻 |
| 値 | 項目 |
|---|---|
| 2-0 | 右端で折り返す |
| 2-1 | フォント |
| 値 | 項目 |
|---|---|
| 3-0 | ズーム |
| 3-1 | ステータスバー |
| 値 | 項目 |
|---|---|
| 4-0 | ヘルプの表示 |
| 4-1 | フィードバックの送信 |
| 4-3 | バージョン情報 |
DLLを使ってメモ帳にメッセージを送信する
メモ帳のステータスバー情報を取得
ペイントを開いてズームを最小値に設定する
ペイントで設定できるズーム倍率を取得
ウィンドウのサイズ位置・サイズを設定
ウィンドウのタイトルバーを点滅させる
メモ帳のマウス入力とキーボード入力を一時的に無効化する
参考文献
関連記事
- ACW関数 (スクリプト関数)
- ウィンドウの状態を変更、またはアクティブにします。
- MONITOR関数 (スクリプト関数)
- マルチモニタ情報を取得します。
- STATUS関数 (スクリプト関数)
- ウィンドウの各種状態を返します。
- getBitmap関数 (自作関数)
- 引数に指定したビットマップ画像のサイズ・幅・高さ・ビットの深さを配列で返します。
- PEEKCOLOR関数 (スクリプト関数)
- 指定位置の色を取得します。
