win98にてDOS窓をcloseするには?

解決


CABIN  2006-02-14 21:03:12  No: 94192

現在winXPにて使用していたツールのwin98対応をした際に
ちょっとした不具合が起きましたので解決策を教えてください。

現象は、VB6にて作成しているのですが、実行中の一部の昨日を
C言語で対応している箇所があり、XPではその箇所の処理に入ると
自動的にDOSプロンプトが立ち上がって実行し、終了すると
DOSプロンプト自体も消えていたのですが、
98で動作させたところ、その箇所でDOSが立ち上がったままになって
しまうのです。
API等でDOSをCLOSEさせれるのではと思慮しておりますが、
現在のところ、それに該当するAPIを探し出せておりません。
同様の処理が行えるものでしたらなんでも検討しますので
ご教示願います。宜しくお願い致します。


123  2006-02-14 21:20:30  No: 94193

試してませんがソフトからバッチファイルを起動するようにして
バッチファイルに目的のexeを実行した後、exitを入れたらどうでしょう。

バッチファイルの内容
hoge.exe
exit


Say  2006-02-14 21:52:43  No: 94194

APIを使いたいのなら、
FindWindowかEnumWindowsでひっかけて、
WM_CLOSEをSendMessageする、
といったところでしょう。


CABIN  2006-02-14 22:06:03  No: 94195

123様、Say様
早速のご返答ありがとうございます。
御両名の案を試してみます。


あん  2006-02-14 22:15:43  No: 94196

windows98だと
Commannd.comが動くのでしょうか?
なら
Command.com /C 処理
にしてはどうでしょうか?
WindowsXPの時も考慮して
Cmd.exe /C 処理
でも動くようにしましょう。


CABIN  2006-02-14 22:41:36  No: 94197

>あん様
「Command.com /C 処理」ってどのようなものでしょうか?
解る範囲でご教示いただきたいです。

>皆さま
調べているうちに、
「lRet = Shell(strBatString, vbHide)」
というものが引っかかったのですが、
vbHideは非表示で起動するとあるのですが、
見えないだけで裏で溜まったりしないのでしょうか?


あん  2006-02-14 22:56:57  No: 94198

処理を実行した後、
EXITも実行するそうです
(ウインドウが閉じるはず?)


ガッ  2006-02-14 23:08:50  No: 94199

例えばこんな感じですね

ChDir "c:\"
Call Shell(Environ$("comspec") & " " & "/c " & Environ$("comspec") & " /? > hoge.txt")


CABIN  2006-02-15 00:49:42  No: 94200

Command.comで希望の動作が実現しました!

ありがとうございました!


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

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






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