• ベストアンサー

EXEファイル実行結果の取得方法

説明不足かと思いますが,質問させてください…。 例えば,EXEファイルで実行した結果だけを 取得し表示させるということは可能なのでしょうか? もし,知っている方がいらっしゃったら 何でもいいので教えて頂けませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

> DOS上で動作するEXEファイルを > C++Builderで開発中のプログラムで > 呼び出すことはできるのでしょうか? という事ですと、 system ShellExecute 関数を使うと良いです。 こちらはヘルプなどにも情報があるハズですので説明は割愛。

yukky9797
質問者

補足

ありがとうございます。 DOS上で動く実行ファイルもShellExecuteで いいんですか…。 ShellExecuteを使ってExplorerを起動させたのと 同じようにやったのですが, ”パッケージのインポートライブラリが見つかりません。” と出てきて,正しく動作しませんでした。 というところで,今行き詰まってます(^^; たびたびすみませんが, もしお時間頂けたら,お返事下さい。

その他の回答 (2)

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.3

>”パッケージのインポートライブラリが見つかりません。” shell32.libをリンクすればいいのではないでしょうか? (こちらの一番下「インポートライブラリ:shell32.lib を使用」) http://www.microsoft.com/japan/msdn/library/ja/jpshell/html/_win32_ShellExecute.asp

参考URL:
http://www.microsoft.com/japan/msdn/library/ja/jpshell/html/_win32_ShellExecute.asp
yukky9797
質問者

お礼

URL教えて頂き,ありがとうございます。 また,質問すると思うので,もし見かけましたら, 回答よろしくお願いします。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

test.c: 引数に1を指定すると0、それ以外は1を返す main(argc,argv) {  if (2<argc){   if (atoi(argv[1])==1) return 0;  }  return 1; } に対して、バッチファイルの中での処理ですと、 test_bat.bat: test 1 if errorlevel 0 echo 1が指定された test if errorlevel 0 echo 1が指定された if errorlevel 1 echo 1以外が指定された のように書けます。 if、errorlevelの使用に関してはWinNT/2k/XPの場合、Windowsヘルプのifの所で多少説明されています。 -- > 実行した結果 というのがコンソールへの出力とか、実行する環境が別のプログラムとかですと、全然ハズしていますが。

yukky9797
質問者

お礼

回答ありがとうございました。 少し質問の内容はやまりました…(>_<) まずは,DOS上で動作するEXEファイルを C++Builderで開発中のプログラムで 呼び出すことはできるのでしょうか? とするべきでした…。 答えて下さって本当にありがとうございました。

関連するQ&A