みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VB6.0から起動したexeファイルを終了するとエラーが発生して困っています

VB6.0(OSはWindowsXP)中からShell関数を利用してexeファイルを起動したのですが、そのexeファイルを終了すると決まってアプリケーションエラーが発生します。これを直接かショートカットで実行して終了するとエラーは出ません。どなたか考えられる原因や解決策をご存じの方、教えて頂けませんでしょうか?よろしくお願い致します。

投稿日時 - 2006-12-12 20:14:23

QNo.2597034

困ってます

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

補足ありがとうございます。

>終了の方法は普通に右上のXをクリックしています。
VBから終了させていると思っていました・・・
普通に終了させてエラーが出るのなら、そのexeの問題っぽいですね。

そのexeを持ってないので何とも言えませんが、思いつく回避策として・・・

1 cmd.exeから起動してみる

Shell "cmd.exe /C ""c:\scr32\milking.exe""", vbHide 'プログラム起動


2 これは関係ないはずですが、ディレクトリを変更しない。

Shell "c:\scr32\milking.exe", vbNormalNoFocus 'プログラム起動
'SetCurrentFolder PrgPath 'ここをコメントアウトしてみる

これ位しか思いつかないです。(^^;
役に立たないかもしれません、ごめんなさい。

投稿日時 - 2006-12-13 11:36:24

お礼

ご指摘の方法でやってみましたら旨く行きました。大変助かりました。ありがとうございました。

投稿日時 - 2006-12-13 16:41:27

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

どういう方法で終了させていますか?
終了のさせ方は間違っていませんか?

よろしければその部分のソースを補足してください。

投稿日時 - 2006-12-12 20:24:11

補足

早速のご回答ありがとうございます。
終了の方法は普通に右上のXをクリックしています。

ソースは以下のようになります。

PrgPath = GetCurrentFolder '自分自身のフォルダ待避
SetCurrentFolder "c:\scr32" '起動プログラムのフォルダ移動
Shell "c:\scr32\milking.exe", vbNormalNoFocus 'プログラム起動
SetCurrentFolder PrgPath '自分自身のフォルダ復帰

わざわざプログラムのフォルダーに移動しているのは、それがフォルダー内のDLL等を使っているためです。

投稿日時 - 2006-12-13 09:51:04

あなたにオススメの質問