有没有办法从Java程序隐藏win32启动控制台(如果可能,没有JNI)

您从控制台启动Java程序(可能使用.bat脚本)。 我不希望控制台保持可见,我想隐藏它。

有一个简单的方法吗? 没有JNI?

使用javaw。

http://java.sun.com/javase/6/docs/tooldocs/windows/java.html

javaw命令与java相同,但javaw没有关联的控制台窗口。 当您不希望出现命令提示符窗口时,请使用javaw。 但是,如果由于某种原因启动失败,则javaw启动程序将显示一个包含错误信息的对话框。

您可以使用start javaw启动Java应用程序。 它将隐藏黑色控制台窗口。

这个.bat技巧适用于一般程序,所以我认为它也适用于启动java程序:

在.bat脚本中调用start program而不仅仅是program

您可以使用javaw.exe(java without)而不是使用java.exe来隐藏控制台。

设置最有用的关联之一是使用java.exe使* .jar文件可执行。 然后,您只需在命令行上键入jar的名称即可开始执行。

如果使用javaw.exe而不是java.exe,则不会看到控制台输出。 注意,Java安装程序通常将* .jar文件与javaw.exe而不是java.exe相关联,从而覆盖您的设置。

下载jsmooth并在一两分钟内创建自己的自定义exe。 然后使用该exe来启动您的Java应用程序。 您甚至可以使用您的应用程序获得光滑的JRE。

http://jsmooth.sourceforge.net

如果你从文件运行你的脚本应该看起来像start javaw start javaw -jar ***.jar