首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Java中关闭命令行窗口

在Java中关闭命令行窗口
EN

Stack Overflow用户
提问于 2010-10-29 18:11:08
回答 4查看 4.7K关注 0票数 2

我已经创建了一个小型Java应用程序,其中包含一些执行批处理文件的代码。执行批处理文件会打开命令行窗口,并显示一些输出消息。我想知道在Java中是否有一些方法可以从program...Thanks中调用这个要关闭的命令行窗口!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-29 18:33:54

作为对NimChimpsky答案的补充:

如果在Windows中运行批处理文件,Windows将自动打开批处理文件的命令窗口,以防该批处理文件要打印输出或提示输入。如果从Java进程启动bat文件,这也适用。

不幸的是,Windows本身显然没有提供在没有这样一个窗口的情况下启动批处理文件的方法。为了避免出现该窗口,您必须通过某个帮助程序运行批处理文件。有几个可用的;谷歌搜索"run bat no window“可以找到一些。

如果你只是想让窗口在批处理文件终止后消失:这应该是自动发生的。如果没有,则说明批处理文件启动的某个程序仍在运行。

票数 1
EN

Stack Overflow用户

发布于 2010-10-29 18:14:25

批处理文件完成时,命令窗口应自动关闭。

要在后台/不可见地运行批处理文件,请选中其他questions

票数 2
EN

Stack Overflow用户

发布于 2010-10-29 18:29:11

使用javawjavaw.exe启动java。

java (java.exe)与关联的控制台窗口一起运行,

javaw (javaw.exe)与此相同,但没有控制台窗口。

请参阅java命令的文档。

在Windows上,还可以使用start调用另一个shell

代码语言:javascript
运行
复制
start javaw ClassName

我不确定是否适用于Linux&Co。尝试在命令后使用一个&在后台运行它

代码语言:javascript
运行
复制
javaw ClassName &

另一方面,从Java启动的批处理中关闭窗口:

我不相信这是直接从Java内部实现的。您只能关闭批处理文件本身。

在不知道该批处理文件正在做什么的情况下很难提供帮助。您可以尝试在windows上使用start命令或在Linux中使用&在后台运行该进程(start可以选择打开窗口最小化的/MIN或在后台/B中打开)。或者尝试一些技巧,比如使用AutoHotKey或一些系统功能(一些WinAPI-DLL或其他系统中的类似功能)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4050882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档