我已经创建了一个小型Java应用程序,其中包含一些执行批处理文件的代码。执行批处理文件会打开命令行窗口,并显示一些输出消息。我想知道在Java中是否有一些方法可以从program...Thanks中调用这个要关闭的命令行窗口!
发布于 2010-10-29 18:33:54
作为对NimChimpsky答案的补充:
如果在Windows中运行批处理文件,Windows将自动打开批处理文件的命令窗口,以防该批处理文件要打印输出或提示输入。如果从Java进程启动bat文件,这也适用。
不幸的是,Windows本身显然没有提供在没有这样一个窗口的情况下启动批处理文件的方法。为了避免出现该窗口,您必须通过某个帮助程序运行批处理文件。有几个可用的;谷歌搜索"run bat no window“可以找到一些。
如果你只是想让窗口在批处理文件终止后消失:这应该是自动发生的。如果没有,则说明批处理文件启动的某个程序仍在运行。
发布于 2010-10-29 18:14:25
批处理文件完成时,命令窗口应自动关闭。
要在后台/不可见地运行批处理文件,请选中其他questions
发布于 2010-10-29 18:29:11
使用javaw或javaw.exe启动java。
java (java.exe)与关联的控制台窗口一起运行,
javaw (javaw.exe)与此相同,但没有控制台窗口。
请参阅java命令的文档。
在Windows上,还可以使用start调用另一个shell
start javaw ClassName我不确定是否适用于Linux&Co。尝试在命令后使用一个&在后台运行它
javaw ClassName &另一方面,从Java启动的批处理中关闭窗口:
我不相信这是直接从Java内部实现的。您只能关闭批处理文件本身。
在不知道该批处理文件正在做什么的情况下很难提供帮助。您可以尝试在windows上使用start命令或在Linux中使用&在后台运行该进程(start可以选择打开窗口最小化的/MIN或在后台/B中打开)。或者尝试一些技巧,比如使用AutoHotKey或一些系统功能(一些WinAPI-DLL或其他系统中的类似功能)。
https://stackoverflow.com/questions/4050882
复制相似问题