我正在开发一个必须启动不同应用程序的Java应用程序。如果我使用Runtime.getRuntime().exec()
启动第二个应用程序,它将成为活动进程,其窗口将在我的应用程序窗口之前。我真正想要做的是以“隐藏”模式启动进程,以便它的任务栏条目不会出现,其窗口最初是不可见的或在我的应用程序窗口后面。然后,我的应用程序将使其可见或在好的准备好时将其移动到前面。这可能还是我要求太多了?
这是一个演示。所以我并不担心安全问题。
编辑:Daniel的回答给了我一个想法。如果我使用Powershell来调用应用程序而不是CMD.EXE怎么办?这会让我在没有窗口的情况下启动应用程序,然后将窗口拉回来吗?我将使用启动java来启动PowerShell以启动应用程序,但是到底是什么!
答案 0 :(得分:0)
你没有说出这个其他应用程序是什么,但我假设它是你无法控制的(即你不能给它一个参数选项来启动最小化模式或类似的。)而不是隐藏你正在启动的应用程序,你可以在其他应用程序启动后使用窗口上的toFront()方法将窗口置于另一个之前吗?当你想揭示另一个时,最小化你的窗口?
我是第一个承认这是一个有点解决方案的人,但它可能会取决于你所追求的目标。
答案 1 :(得分:0)
您无法提供这些参数,但您可以使用支持这些参数的“start”命令(在cmd中尝试)。最终你必须使用cmd.exe shell调用它,但这将有效!