2011-01-12 2 views
2

私は別のアプリケーションを起動しなければならないJavaアプリケーションを開発中です。 Runtime.getRuntime().exec()を使用して2番目のアプリケーションを起動すると、それはアクティブなプロセスになり、そのウィンドウはアプリケーションのウィンドウの前に表示されます。私が本当にやりたいことは、プロセスを「隠し」モードで起動して、タスクバーのエントリが表示されず、そのウィンドウが最初は見えないか、アプリケーションウィンドウの背後にあることです。その後、私のアプリケーションは、それが見えるようにするか、またはそれが準備が整ったときに前面に移動します。これが可能か、私はあまりにも多くを求めていますか?Javaアプリケーションによって起動されたウィンドウアプリケーションを非表示にしますか?

これはデモ用です。だから私はセキュリティ上の問題を心配していません。

を編集してください。ダニエルの答えが私にアイデアを与えました。 Powershellを使用してCMD.EXEの代わりにアプリケーションを起動するとどうなりますか?ウインドウなしでアプリを起動してからウインドウを元に戻すことはできますか?私はjavaを起動してPowerShellを起動してアプリを起動することになるが、なんとなく!

+1

アプリケーションが「うまく準備ができている」ときに、この外部アプリケーションを起動してみませんか?あらかじめ外部アプリケーションを起動する必要はありますか?読み込むのに時間がかかりますか? – Bernard

+0

さて、外部アプリケーションは、ロードに時間がかかります。基本的には、wwwを介してサーバーに接続して情報を取得したり、ハンドシェイクなどをネゴシエートしたりする必要があります。アプリケーションをすべて待機させることはできません。だから私はできるだけ早くそれを起動し、他のタスクを続行したい。 – 341008

答えて

0

あなたはこの他のアプリケーションが何であるかについては言及していませんが、あなたがコントロールできないものと仮定しています(つまり、最小化モードなどで起動するパラメータオプションを与えることはできません)。 )あなたが起動しているアプリケーションを隠すのではなく、他のアプリケーションが起動した後にウィンドウをtoFront()メソッドを使ってウィンドウを他のウィンドウの前に置くことができますか?そして、他のものを明らかにしたいときにあなたのウィンドウを最小化しますか?

私はそれがちょっとした身体的な解決策であることは認めませんが、後で何をしているかによってはうまくいく可能性があります。

+0

他のウィンドウが表示されるまでどれくらいの時間がかかりますか... – Daniel

+0

私はそのアイディアが好きです。そして、私はそこにきれいな解決策がないと思う。しかし、ここで2番目のウィンドウがいつか正面に来るでしょう。また、ダニエルは言うように、私はどのくらいの時間がかかるのか分かりません。 – 341008

0

これらのパラメータは提供できませんが、これらのパラメータをサポートする "start"コマンド(cmdで試してください)を使用することはできます。最終的にcmd.exeシェルで呼び出す必要がありますが、これはうまくいきます!

+0

私はcmdシェルを起動しても問題ありませんが、 "start"を使用すると後でウィンドウをアクティブにすることはできません。私は? – 341008

+0

Runtime.getRuntime()。exec()を使用する場合は、どのようにしますか?これは、悲しいことにプラットフォームに依存するウィンドウメッセージを送信することによってのみ行うことができます。しかし、JNativeはこれに使う良いツールです。ウィンドウを見つけて前面に持ってくるには、Windows APIを使用する必要があります。 – Daniel

+0

"Runtime.getRuntime()。exec()?"を使用した場合、どうすればよいですか? "できません。それが私の問題の第二の部分です。 – 341008

関連する問題