- ベストアンサー
DOS窓の非表示について
常駐で動くC++のプログラムがいくつかあり、 それらの初回起動はBATファイルで『start aaaa.exe』のように 起動をかけています。 C++のプログラムはDOS窓が表示されるようになっていて プログラムが動くたびにパソコンの画面上で複数のDOS窓が チカチカッとなってしまい、とてもわずらわしく、 出来ればDOS窓を非表示にしたいのですが、何か方法はありませんでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
バッチ単独では無理ですが、VBSからバッチを呼び出すことによってお望みの動作が得られます。 Set shell = WScript.CreateObject("WScript.Shell") shell.Run "Path\バッチファイル", 0, false
その他の回答 (2)
- redfox63
- ベストアンサー率71% (1325/1856)
startに オプションの /MINをつけてやればいいのでは ・・・ start /MIN aaa.exe start /MIN bbb.exe
お礼
情報ありがとうございます。 試してみます
- DIooggooID
- ベストアンサー率27% (1730/6405)
cmd /c aaaa.exe ではいかがでしょうか。
お礼
ご回答ありがとうございます。 質問の段階で、うまく今の現状を伝えられていませんでした。 今は、例えば『aaaa.exe』 『bbbb.exe』 『cccc.exe』とC++の 常駐プログラムがあり、スタート.batで以下のように指定して毎朝起動をかけています。 【スタート.bat】 start aaaa.exe パラメータ start bbbb.exe パラメータ start cccc.exe パラメータ DIooggooIDさんの案を試しては見ましたが、 cmd /c aaaa.exeが起動したあとに、 cmd /c bbbb.exeが起動しませんでした。 調べてみたところcmd /c は指定したプログラムが終了してから 次のコマンドラインを実行しているようです。 前述のとおり常駐プログラムですので、aaaa.exeは終了.batを起動しないと 終了しないようになっています。
お礼
できましたぁ! DOS窓が非表示ですがタスクマネージャで確認すると確かに起動しています。 データを流してみましたが、しっかりと結果が返ってきました。 ありがとうございます。 ただ1点気になるのが、DOS窓は表示されていないのに データを流したときに、一瞬だけDOS窓のようなものがチカチカします。 これは仕方の無いことなのでしょうか? (ちなみに負荷テストのため多量にデータは流して確認しています)