经过半天的搜索和尝试,我终于放弃了。
我有一个 java 应用程序,我创建了一个可运行的 jar(包括任何其他库并且只有一个 jar 文件)。使用 launch4j 和可运行的 jar,我正在制作一个可执行文件“MyApp.exe”。
可执行文件工作正常,但我想将它固定到我的 Windows 7 任务栏。现在,我只有任务栏条目“关闭窗口”。
在阅读并使用 JNA 实施以下解决方案之后
我的应用程序在 gui 中正确显示它的“应用程序用户模型 ID”(仅用于测试目的)。
但是:我的程序在任务管理器中显示为“javaw.exe”,我仍然无法将其固定到任务栏,即使我设置了 launch4j 选项“自定义进程名称和 XP 样式清单”。
背景信息:我正在使用 Windows 7 管理员帐户,我不希望该应用程序需要管理员权限。
无论如何,如果我从上下文菜单“以管理员身份”启动应用程序并确认 UAC 消息,我现在可以固定到任务栏。但是:即使我正确设置了“应用程序用户模型 ID”,Windows 仍然想要固定“javaw.exe”,即使我的程序现在在 TaskManager 中显示为“MyApp.exe”。
我完全糊涂了。但我显然不是唯一一个遇到这些问题的人。=> 请参阅使用 JNA 获取/设置应用程序标识符中对 Gregory Pakosz 答案的最后评论
最后的问题:
- Gregory Pakosz 使用 JNA 设置“应用程序用户模型 ID”(https://stackoverflow.com/a/1928830/1128689)的方式对我有用。但是,Windows 仍将我的应用程序识别为“javaw.exe”的实例。我还需要做什么?
- 也许某些 Windows 或 Java 更新在这里破坏了某些东西?
- 我真的必须以提升的用户权限运行我的应用程序吗?我真的不想...
- launch4j 中是否还有一些我必须设置的选项?
- 我必须在 launch4j 中使用清单文件吗?