2011-01-12 207 views
2

我正在开发一个Java应用程序,它必须启动一个不同的应用程序。如果我使用Runtime.getRuntime().exec()启动第二个应用程序,它将成为活动进程,其窗口位于应用程序窗口之前。我真正想要做的是以“隐藏”模式启动进程,以便其任务栏条目不出现,并且其窗口最初不可见或位于我的应用程序窗口后面。然后,我的应用程序会将其显示出来,或者在它准备好时将它移到前面。这是可能的还是我要求太多?隐藏Java应用程序启动的窗口应用程序?

这是一个演示。所以我不担心安全问题。

编辑:丹尼尔的回答给了我一个主意。如果我使用Powershell来调用应用程序而不是CMD.EXE会怎么样?这样可以让我在没有窗口的情况下启动应用程序,然后将窗口拉回来吗?我将使用启动Java来启动PowerShell来启动应用程序,但到底是什么!

+1

为什么不在你的应用程序“很好并准备好”时启动这个外部应用程序?是否真的需要事先启动外部应用程序?加载需要很长时间吗? – Bernard 2011-01-12 16:54:19

+0

那么,外部应用程序需要一段时间来加载。它基本上必须通过www连接到服务器以获得一些信息,协商握手等。我不能让我的应用程序等待所有这些。所以我想尽快启动并继续完成其他任务。 – 341008 2011-01-12 17:02:29

回答

0

你不会说这个其他应用程序是什么,但我假设它是一个你无法控制的(即你不能给它一个参数选项以最小化模式启动或类似。 )您可以在其他应用程序启动后,在窗口上使用toFront()方法将窗口置于另一个窗口之前,而不是隐藏您启动的应用程序。然后当你想透露另一个时,最小化你的窗口?

我是第一个承认这是一个懒散的解决方案,但它可能会取决于你以后的工作。

+0

你不知道需要多长时间才能看到其他窗口... – Daniel 2011-01-12 17:01:11

0

您不能提供这些参数,但是您可以使用支持这些参数的“start”命令(在cmd中试用它)。最终你必须使用cmd.exe shell来调用它,但这会起作用!

相关问题