将Java可执行文件(使用launch4j)固定到Windows 7任务栏

ToF*_*oFi 29 java taskbar jna launch4j windows-7

经过半天的搜索和尝试,我终于放弃了.

我有一个java应用程序,我创建一个可运行的jar(包括任何其他库,只有一个jar文件).使用launch4j和runnable jar我正在创建一个可执行文件"MyApp.exe".

可执行文件工作正常,但我想将它固定到我的Windows 7任务栏.现在,我只有任务栏条目"关闭窗口".

用JNA阅读并实现以下解决方案后

我的应用程序在gui中正确显示它的"应用程序用户模型ID"(仅用于测试目的).

但是:我的程序在任务管理器中显示为"javaw.exe",我仍然无法将其固定到任务栏,即使我设置了launch4j选项"自定义进程名称和XP样式清单".

背景信息:我正在使用Windows 7管理员帐户,我不希望该应用程序需要管理员权限.

无论如何,如果我从上下文菜单中"以管理员身份"启动应用程序并确认UAC消息,我现在可以固定到任务栏.但是:即使我正确设置了"应用程序用户模型ID",Windows仍然希望固定"javaw.exe",即使我的程序现在在TaskManager中显示为"MyApp.exe".

我完全糊涂了.但我显然不是唯一一个有这些问题的人.=>请参阅Gregory Pakosz在使用JNA获取/设置应用程序标识符时的最后评论

最后的问题:

  1. Gregory Pakosz与JNA合作设置"应用用户模型ID"(/sf/answers/135018131/)正在为我工​​作.但是,Windows仍然将我的应用程序识别为"javaw.exe"的实例.还有什么我需要做的?
  2. 也许有些窗户或java更新在这里打破了什么?
  3. 我是否真的必须使用提升的用户权限运行我的应用程序?我真的不想......
  4. 我必须在launch4j中设置更多选项吗?
  5. 我是否必须在launch4j中使用清单文件?

Reg*_*Reg 1

我通过在JSmooth的帮助下从可运行的 jar 创建一个 Exe 来完成这项工作。 将其固定到任务栏,并毫无问题地运行它。

希望这可以帮助