常駐型のバッチを誤って停止してしまわないことを目的としています。(停止は別のバッチを使用して行います)
OSはWindows XP Pro SP2です。
バッチファイルをエクスプローラ上でダブルクリックして、ウィンドウが表示されないようになればよいです。
実行時に最小化される方法があればその情報もほしいです。(ただし、ショートカットを作成し、そこで起動時のウィンドウを最小化する設定は存じております。http://q.hatena.ne.jp/1105770702 こちらのご質問も参考にさせていただきました。)
OS標準の機能で実現することが望ましいですが、フリーソフトなどで実現する方法もあればその情報もほしいです。
ソースがあれば、出来ないという情報でもかまいません。
VBS を使用する方法ですが、
test.vbs というファイルを作成し下記の1行を書きます。
CreateObject("WScript.Shell").Run "C:\test.bat",0
test.bat の部分を使用するバッチに変更。
test.vbs をダブルクリックで、何もウィンドウが出ないで処理がされると思います。
このソフトはすばらしい!
cmdow /t
でウィンドウをリストアップして、目的のウィンドウのHandleを確認、その後ハンドルを指定してさまざまな操作が出来ます。
目的のことは、以下のコマンドで出来ました。
cmdow (Handle) /dis
これでツールバーからも消えます。
ただ、Handleはバッチ起動ごとに変わってしまうので、他の指定方法がないか、もう少しいじってみます。
>>追記
cmdow /run /hid test.bat
で、ウィンドウを隠した状態で実行できました。
これをバッチに記述してやれば、目的が果たせそうです。
<<追記終わり
僕の方でも継続して調査しているので、そこで見つけたものも書いておきます。
フリーソフト。僕の環境ではうまく動きませんでした。
http://www.vector.co.jp/soft/win95/util/se105488.html
Startコマンドを使ったらどうかという話。
VBS を使用する方法ですが、
test.vbs というファイルを作成し下記の1行を書きます。
CreateObject("WScript.Shell").Run "C:\test.bat",0
test.bat の部分を使用するバッチに変更。
test.vbs をダブルクリックで、何もウィンドウが出ないで処理がされると思います。
ありがとうございます。この方法でも実現することが確認できました。
シンプルでよい方法だと思います。
http://www.jwcad.net/log/consult/consult1-0407-09/thread21221.ht...
このあたりのテクニックは応用できないでしょうか。
こちらはウィンドウを「物理スクリーンの外に追いやる」だけのようではありますが。
ありがとうございます。こちらの方法でも出来ました。結果を少し解説します。
[手順]
1.「C:\WINDOWS\SYSTEM32\CMD.EXE」を実行バッチファイルのあるフォルダにコピー
2.コピーしたCMD.EXEを起動し、プロパティの「ウィンドウの位置」の「システム設定を使う」のチェックを外し、「上から」を最大値(764など)にして「OK」
3.「プロパティの適用」ダイアログが表示されるので、「同じタイトルのウィンドウに適用する」を選択して「OK」
これで、実行バッチファイルのあるフォルダから起動するバッチは、コピーしたcmd.exeを使用することになり、ウィンドウの位置の設定が適用されます。
また、通常起動するDOS窓は、「C:\WINDOWS\SYSTEM32\CMD.EXE」が使用されるため、上記設定の影響を受けることがありません。
ウィンドウは画面の下部から少し頭を出す格好となり、画面下部にタスクバーがある場合は、それに隠れます。タスクバーからは消えません。
明日の朝まで開けておこうと思いますので、他に方法がありましたらご教示ください。
実行時に最小化は、start /MIN hoge.batで良いかと思います。
ありがとうございます。1番のコメントに記したURLと同じ方法ですね。
ありがとうございます。この方法でも実現することが確認できました。
シンプルでよい方法だと思います。