起動すると値を返すexeを作るには?


sato  2003-07-15 18:26:13  No: 107775

ダブルクリックするとコード中に定義した値を返すようなexeを作成したいのですが可能なんでしょうか?
よろしくお願いします。


nanashi  2003-07-15 18:55:13  No: 107776

どこに返すのでしょうか?
環境は?


sato  2003-07-15 20:14:55  No: 107777

リターンコードをexe外に返すということです。
Win2kです。exitprocessを使うとできそうだということが調べてわかったのですが、具体的にはどのように使用すればよいのでしょうか?


toku  2003-07-15 21:19:37  No: 107778

『exe外』ってどこですか?
具体的にどのようなことをしたいのですか?


魔界の仮面弁士  2003-07-15 21:34:21  No: 107779

# 環境を明記しましょう。

VB.NETで、という意味であれば、Sub Main を Function Mainに
変更して、Int32値を返してやればOKです。

VB6以下で、という意味であれば、基本的には不可能です。
一応、ExitProcess APIを使えば返せない事は無いのですが、
VBの内部から呼ぶべきAPI関数では無い、とされています。

VB6で実現するなら、他の手段を講じた方が良いでしょう。
良く使われるパターンとしては、以下のような物があります。

案1) EXEをActiveX EXEにして、VBScriptからCreateObjectで呼び出し、
  WScript.Quitメソッドでリターンコードを返すようにする。

案2) EXE側は、終了時になんらかのファイル(0バイトでもOK)を
  生成するようにする。呼び出し側では、リターンコードを
  取得する替わりに、そのファイルの存在にて戻り値を判定する。

案2') 呼び出し側を変更できない場合は、C++やVB.NETなどで
  リターンコードを返すようなラッパーアプリを作っておき、
  そこからVB6製EXEを呼び出すようにする。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加