4

我开发了小型跨平台(Windows 和 Mac)SWT 桌面应用程序。它与 WebStart 一起分发。到目前为止一切顺利,一切正常。

我有一个新要求,让我的应用程序在系统启动时启动(没有用户交互)。实现这一目标的最佳方法是什么?

在 JNLP 文件中,我有这个:

<shortcut online="false">
    <desktop/>
    <menu submenu="CompanyName"/>
</shortcut>

在 Windows WebStart 上创建一个桌面链接[app_name].lnk,它指向 javaws.exe一些 Java 缓存文件作为参数,名称很有趣,例如..\Sun\Java\Deployment\cache\6.0\4\2c0a6a781-213476. 我可以通过名称以编程方式在用户机器上找到该链接......呃......然后将其复制到用户的Startup文件夹中。我可以在这里看到一个问题,因为用户可以一起禁用 WebStart 桌面快捷方式创建选项。

在 Mac 上,WebStart 会弹出一个对话框,提示用户创建[app_name].app启动应用程序的文件的位置(允许用户更改链接名称!)。在 Mac 上,我不知道Startup文件夹的位置(那里似乎要复杂得多)。

是否有 Java 库可以在不同平台上抽象系统启动概念上的启动应用程序,就像 SWT 对 GUI 抽象所做的那样?

4

3 回答 3

2

有,但它很新,所以它没有被广泛使用。

IntegrationService是在 1.6.0u18 中引入的。感兴趣的方法是requestShortcut

于 2010-05-04T03:29:32.733 回答
1

您可以查看Java Service Wrapper。这可以将您的程序连接为 Windows 服务。

于 2010-05-04T08:16:12.890 回答
0

撞!

似乎http://yajsw.sourceforge.net/是实现这一目标的当前活跃项目。

于 2012-12-10T02:15:40.553 回答