首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Windows上设置Java进程名称

在Windows上设置Java进程名称
EN

Stack Overflow用户
提问于 2015-05-25 04:54:00
回答 4查看 7.9K关注 0票数 19

我们的Java Swing应用程序在Windows上运行,并使用Launch4J封装在一个可执行文件中。

我们希望自定义我们的应用程序进程名称和描述(在Windows的任务管理器中),因为它当前是"javaw.exe“和"Java Platform SE binary”(这让我们的客户感到困惑)。

虽然旧版本的Launch4J启用了使用<customProcName>来更改这一点,但此选项现在已失效,因为从Win7开始它不再起作用。

有没有其他(简单的)变通方法来定制我们的应用程序进程名称和描述?

例如,更改jvm可执行文件名似乎是一种方法(因为我们将其嵌入到封装的exe文件中),但是如何向launch4j表明javaw.exe文件名已更改?

另一种选择是创建一个启动程序exe文件:也许是过度杀伤力?

任何想法/提示都非常受欢迎;谢谢!

EN

回答 4

Stack Overflow用户

发布于 2015-06-05 23:31:06

如果您希望推出自己的解决方案,您将需要查看JNI和Invocation API,特别是用于创建VM的JNI_CreateJavaVM(),找到主方法GetStaticMethodID()并使用CallStaticVoidMethod调用它。

这就是java.exejavaw.exe和其他各种本机启动器在内部所做的事情。一些示例包括:

如果您不想将本机构建系统与java构建系统集成在一起,一种方法是预先构建一个静态launcher.exe,并将其视为静态二进制blob。然后,在java构建期间,使用java修改二进制blob,以更新VERSIONINFO、图标和闪屏。这种方法的一个示例可以在IntelliJ LauncherGeneratorMain.java中看到

票数 8
EN

Stack Overflow用户

发布于 2015-05-30 22:21:28

如果你负担得起,JSmooth似乎能满足你的需求。不过,它上一次发布还是在2007年。关于它的许可证取自应用程序本身的说明:

生成的可执行文件(由jsmooth创建的启动器)在LGPL下,有一个类似于gcc许可例外的“运行时例外”:它不要求您随同它分发源代码,也不要求您发布一则提到jsmooth的通知。

当使用JSmooth时,有一个标记为“骨架”的部分,允许您选择一些预定义的参数。其中之一是适用于GUI应用程序的“窗口包装器”,如下所述:

此框架包装了图形用户界面应用程序

  • 不显示控制台I/O
  • 如果找不到Java,则可以显示可配置的URL (通常指向java下载页)。

可以将参数传递给应用程序(使用JSmooth默认参数机制,或者使用参数创建快捷方式)。

此框架中的重要内容是选中选项"Launch java app in the exe process“,这将导致在与包装器exe相同的进程中运行JVM。这意味着在Windows任务管理器中只显示exe,而不是exe和java进程。

另一种方法是编写自己的包装器。有关如何从本机应用程序调用this Oracle guide的信息,请参阅JVM。

票数 5
EN

Stack Overflow用户

发布于 2015-05-31 01:36:37

我用WinRun4J做过类似的事情,据我所知,它可以用于商业,因为它是CPL许可的。今天检查一下:设置进程名在Windows7上仍然有效(最初是在XP上)。

根据该网站的信息,您只需创建一个ini文件,该文件将告诉WinRun4J运行什么:

main.class=org.something.MyMainClass
classpath.1=*.jar

(还有更多的参数,您可以设置JRE的位置等)

在第二步中,将winrun4j.exe复制到适合您的应用程序的位置:

copy winrun4j.exe yourapplication.exe

(也有适用于Windows x64的版本)

然后使用RCEDIT (随WinRun4j提供)将ini添加到exe:

rcedit /N yourapplication.exe yourapplication.ini
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30428225

复制
相关文章

相似问题

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