我有一个 launch4J 配置,其中 headerType=console。
控制台可以很好地显示所有控制台输出。但该控制台窗口的标题始终是可执行启动器的完整路径。有没有办法设置该窗口的标题,如果可以的话如何设置?
例如,如果我使用
创建批处理文件start "This is my Window Title" mylauncher.exe
然后我将得到一个控制台窗口,其标题为这是我的窗口标题。如何配置 Launch4j 以便不需要批处理文件?
最佳答案
据我所知,launch4j 中没有设置可以做到这一点。有一个 windowTitle
选项,但文档说它仅适用于 GUI。
相反,我认为你有几个选择。我假设您仅使用 Windows,因为您使用的是批处理和 exe 文件。
选项:
修改launch4j的源以添加对Win32 API函数的调用
SetConsoleTitle
。您本质上需要重新编译 consolehead 部分,然后重建可执行文件。他们使用 Dev-Cpp 进行编译。有一个类似的项目名为WinRun4J它有一个配置控制台标题的选项,它使用了这种方法。也许 launch4j 所有者可以根据要求添加此功能,但您自己添加它也不会太难。我之前修改了 launch4j 源代码来修复错误,这非常简单。
编写 JNI 库以从 Java 代码中调用相同的 Win32 函数。请参阅this post .
不要编写自己的 JNI dll,而是使用 JNA library从 Java 调用
SetConsoleTitle
。有关示例用法,请参阅 #2 中同一链接中的答案。
关于windows - 您可以在 Launch4j 中设置 WindowTitle 其中 headerType==console 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26188883/