• ベストアンサー

VBで作成した実行形式の戻り値を作成したい

VBで作成した実行形式の戻り値を作成したいと考えています. たとえば,A.exeという実行形式をVBで作成します. このA.exeを別のプロジェクトでshell関数などで起動します. 処理が終了した時に, A.exeの処理が成功した場合に1 A.exeの処理が失敗した場合には0を返すようにしたいと考えています. 可能でしょうか? 環境:Windows2000+SP3 Visual Basic 6.0+SP5

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

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

多分、無理かと・・・。 DLLで作成したらいいのでは? VBで DLLの作成は できますよ。

mar0325
質問者

お礼

回答ありがとうございます. VBでDLLを作成する方法がわかりません. どのようにコーディングしたらよいでしょうか?

その他の回答 (4)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.5

(1)DDEによる通知 (2)A.exeをActiveXにしてイベントで通知

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.4

実用的ではないですけど、APIを使用すれば不可能ではないです。 (前解答の方々を否定するわけではないです。) 不可能ではないと言いましたが、所詮は案なので流してもらっても構いません。 呼び元実行ファイル:yobu.exe 呼ばれる実行ファイル:A.exe ※前提:yobu.exeには、戻り値取得用のTextbox等を配置しておく。 戻り値受け取り用のTextboxであると言うことの値をTextboxに入力しておく。 1.yobu.exeから、A.exeを呼び出す時にyobu.exeのウィンドウタイトルを引数として渡す。 2.A.exeの処理の終了時に、ウィンドウ一覧を列挙して引数として渡された ウィンドウタイトルを探して、そこの指定されたTextbox等に戻り値を入力する。 2番目の動作は、実際にVB6に付属しているSPY++を使用してみると確認できます。 大まかなイメージは、このような感じになります。 うまくイメージが伝わればいいと思いますけど。

mar0325
質問者

お礼

どのようなAPI関数を使用すればよいのでしょうか? 関数名を教えていただけると幸いです。

  • qwer021
  • ベストアンサー率24% (70/281)
回答No.3

以前私も同様のことをやりたかったのですがVBはサブメインだと思いますので、多分出来ないと思いました。 私はVB側でログを出力しExeの呼び元で成功・失敗を判別しました。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 A.exeが起動したかどうかではなく、A.exe内部での処理が成功したか失敗したかを知りたいということでしょうか。 それなら、A.exeの中で、処理に成功したか失敗したかのフラグをテキストファイルなどに書き出し、それを元のアプリで読み取ればいいのではないでしょうか。