- ベストアンサー
バッチ起動でウィンドウアプリを最前面で表示する方法
- バッチを作成してウィンドウアプリを起動し、最前面で表示する方法を説明します。
- ウィンドウアプリを最前面に表示するためには、ウィンドウのハンドルを取得して最前面に持ってくる処理を追加することで実現できます。
- Windows10 Proの環境で実行することができます。ショートカットのプロパティで「実行時の大きさ」を「最小化」に設定することも可能です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
やりたいことは 1. なにか特定のアプリケーションをbatファイルで実行し そのアプリケーションが終了するのを待って なにやらbatファイルで記述した後続の作業をしたい 2. このbatファイルの画面は最小化したい 3. アプリケーションのウィンドウは最前面に表示したい ってことでしょうか。 だとすると、 C:\Windows\System32\notepad.exe を記述した行の次行以下に、 メモ帳のフォームを最前面に表示する制御を書いても メモ帳が終了するまで制御が移らないので 意味を持ちませんね。 こんな制御はいかがでしょうか。 aaa,bat に start cscript "D:\wk\Notego.vbs" C:\Windows\System32\notepad.exe を記述し 別途 =====次行以下から Option Explicit 'オブジェクト変数の宣言とWshShellオブジェクトの作成。 Dim objWshShell Set objWshShell = WScript.CreateObject("WScript.Shell") '起動するのに2秒待つ。 WScript.Sleep 1000 'メモ帳をアクティブにする。 objWshShell.AppActivate "メモ帳" Set objWshShell = Nothing =====前行までを記載したスクリプトを D:\wk\Notego.vbs に配置します。
その他の回答 (1)
- HohoPapa
- ベストアンサー率65% (455/693)
C:\Windows\System32\notepad.exe ではなく、 start C:\Windows\System32\notepad.exe とし、 >このバッチのショートカットを作成し、ショートカットのプロパティで >「実行時の大きさ」に「最小化」を指定します。 これを >このバッチのショートカットを作成し、 最小化を指定しない という仕込みはいかがでしょうか? それとも、なにか事情があって、 >DOSプロンプト自体 をタスクバーに残したいですか?
補足
ご回答ありがとうございました。 返事が遅くなりまして誠に申し訳ありません。 > それとも、なにか事情があって、 > >DOSプロンプト自体 > をタスクバーに残したいですか? はい、質問紙使用した例は、だれでも簡単に再現できる内容とするため 簡単な例を記入しました。 しかし、実際にはバッチの処理はもっと複雑で時には、 バッチの処理結果を知らせるためにもDOSプロンプトは 最小化しておく必要があります。 そのため、ご提示いただいた方法ではDOSプロンプトが 消えてしまうため、当方で実際に行いたいことではないのです。 (説明が不足していたことをお詫び申し上げます)
お礼
HohoPapaさん、ご回答ありがとうございました。 返事が遅くなりまして、誠に申し訳ありませんでした。 別作業に時間を取られていて、回答を確認することができていませんでした。 バッチやWindowsの設定、または、アプリケーション側の 作りを何とかしなければいけないと考えていましたが、 このような対応の方法があるのですね。 とても勉強になりました。 ありがとうございました。