外部プログラムの終了コードを取得したい

投稿者: 投稿日:2018/04/02(Mon) 15:11:08 No.2054

 こんにちは、お世話になります。

 外部のプログラムを「起動して待つ」命令等で起動した後、そのプログラムの終了コードを取得することはできますでしょうか。
 もし何か方法がありましたら、教えていただけると幸いです。

 以上、よろしくお願いいたします。

見付けられませんでした

投稿者:アーク <info_nds-labo あっとまーくexcite.co.jp> 投稿日:2018/04/04(Wed) 16:46:02 No.2055

陸さん、こんにちは。アークです。

今回も横から失礼します。

この件、私も気になったので調べてみたのですが、
プロデルにその様な機能は発見できませんでした。

終了コードをクリップボードにコピーする事ができれば、
プロデルはそれを取得する事が可能なので目的が果たせそうです。

そこで終了コードを発行して終了するだけのプログラムと、
終了コードをクリップボードにコピーするプログラムを作成して、
実際に検証してみたところ上手く行きました。

橋渡しするプログラムは仮に「Run.exe」としました。
終了コード監視が必要なプログラムをRun.exe経由で起動する事で、
プロデルのプログラムからはクリップボード経由で終了コードの取得が可能です。
今回、テストに使用したプログラムを下記に載せます。

//------------ ここから ---------------------
メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    //貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
    //自動生成された手順です。ここにプログラムを書き加えても消える場合があります
    この内容を「メイン画面」に変える
    ボタン1というボタンを作る
      その位置と大きさを{72,127,144,51}に変える
      その内容を「ボタン1」に変える
  終わり

  外部ソフトを起動する時の手順
    「Run.exe」を「プログラム2.exe」として標準で、起動して待つ
    結果は、クリップボードの内容
    もし結果が空なら
      「空です」を表示する
    そうでなければ
      結果を表示する
    もし終わり
  終わり

  ボタン1がクリックされた時の手順
    外部ソフトを起動する  
    終了する
  終わり
終わり
//------------ ここまで ---------------------

Run.exeが必要なら送ります。
お節介と思われたなら無視して下さい。

Re: 見付けられませんでした

投稿者: 投稿日:2018/04/25(Wed) 18:35:51 No.2065

 こんにちは。

 なるほど、そういう手がありましたね。
 で、その「run.exe」はどのような形で作ったんでしょうか。
 ちょっと自分でも作ってみようかと思ったんですが、良い方法が思いつかずにいます。
 Cはちょっとならわかるんですが、高度なことをやろうとすると、苦手ですね。
 良ければ教えてください。

 それでは。

難しい事はしていません

投稿者:アーク <info_nds-labo あっとまーくexcite.co.jp> 投稿日:2018/04/25(Wed) 22:43:41 No.2066

陸さん、こんばんは。アークです。

〉その「run.exe」はどのような形で作ったんでしょうか。
難しい事はしていません。(できません。)

私は単純な機能の実行ファイルが必要になった時は、
VBScriptやバッチファイルで書いてから実行ファイルに変換しています。
今回の場合はVBScriptならRunメソッドかExecメソッドを使う事になりますが、
セキュリティ ソフトにマルウェア扱いされる事が多くなったので、
最近はバッチで書く事が多くなりました。

バッチの場合は下記のような感じです。
@echo off
%1
set RET=%ERRORLEVEL%
echo %RET% | clip

これをEXEファイルに変換してくれるフリーソフトが幾つか公開されています。
揃えて作るのが面倒でしたらメアドを教えて頂ければrun.exeの現物を送ります。

▲ページの先頭へ

- WebForum -