【问题标题】:Make Windows Shortcuts Using Java使用 Java 制作 Windows 快捷方式
【发布时间】:2012-05-18 16:56:38
【问题描述】:

我正在寻找一种在 Java 中为 WinXP、Vista 和 Win7 创建快捷方式的方法。除了快捷方式本身,我还需要能够指定快捷方式的图标。

该解决方案可以使用命令行命令,但我不能使用 GPL 解决方案。

如果 WinXP 创建的快捷方式与 Vista/7 不同,那么我可以添加条件逻辑(我只需要知道如何为这两种情况执行此操作)。

背景

快捷方式的创建将在安装过程中进行。我们使用的安装程序是基于 Java 的,这就是为什么我正在寻找 Java 中的解决方案。因此,重要的是要注意快捷方式可能会有所不同,具体取决于用户选择的安装目录。如果没有一种干净的方法来做到这一点,那么我将不得不采用创建 VBScript 或 C# 程序来为我完成工作的推荐建议,然后从我的 java 代码中调用它。不过我更喜欢更简单的解决方案。

【问题讨论】:

  • 更多信息以供澄清。快捷方式的创建将在安装过程中进行。我们使用的安装程序是基于 java 的,这就是为什么我要在 java 中寻找解决方案。因此,重要的是要注意快捷方式可能会有所不同,具体取决于用户选择的安装目录。如果没有一种干净的方法来做到这一点,那么我将不得不采用创建 VBScript 或 C# 程序来为我完成工作的推荐建议,然后从我的 java 代码中调用它......我更喜欢更简单的解决方案。
  • “我们使用的安装程序是基于 Java 的,这就是我在 Java 中寻找解决方案的原因。” 这听起来像 JWS。如果没有,那么也许你可以更具体一些,而不是强迫我们玩这个“20 个问题”的游戏。
  • 安德鲁,我喜欢你的回答,但它不适用于我的特定应用程序。我相信它可能对其他人有用,并且当它适用于稍后阅读该帖子的人时,您可能会为您的回复获得投票。

标签: java windows windows-7 windows-xp command-prompt


【解决方案1】:

部署应用。使用Java Web Start

JWS 提供了许多吸引人的功能,包括但不限于初始屏幕、桌面集成、文件关联、自动更新(包括延迟下载和编程控制更新)、本地分区和其他资源按平台、架构或 Java 版本下载,运行时环境配置(最低 J2SE 版本、运行时选项、RAM 等),使用扩展轻松管理公共资源..

桌面快捷方式通常在 JNLP 文件中指定,用于提供启动应用程序所需的值。它可以包含一个图标。

这是我桌面的一小部分 (Windows 7)。

RHS 上的两个快捷方式是 JWS 应用程序。底部的(Star Zoom Animation)定义了一个图标,而另一个使用默认的“咖啡杯”图标。

【讨论】:

  • 我不能代表 VenomFangs,但在我们的案例中,用户不希望自动升级,并且随着几乎所有与 java webstart 或 applet 相关的 java 漏洞利用数量的增加,它不会产生如果我们没有必要,让自己暴露在额外的脆弱性中是有意义的。我们的组织要求我们尽可能减少 JWS 和小程序的使用,因此在我们的安装程序中使用更直接的方法来创建快捷方式(如提出的这个问题)将非常有帮助。
【解决方案2】:

“Windows 快捷方式”是 COM/ActiveX Monikers 和 Win32 API 的组合。

它们都没有被 Java 直接暴露给 JVM 环境。

建议: 只需编写一个您的 Java 程序调用的小 VBscript (getRuntime()/Process.exec())。

或者使用已经满足您需求的软件包。

【讨论】:

  • 感谢您的评论和链接。我会看一下...我最终可能只是用 C# 写一些东西。
  • 我将使用类似下面的东西来为我制作带有图标的快捷方式。 eggheadcafe.com/community/csharp/2/10084566/… 我将通过命令行传递细节,然后我应该能够将它与我的安装过程很好地结合起来。
【解决方案3】:

我为 win32 api 调用编写了一个 swt win32 扩展。

你可以用它来做一个windows快捷方式。

你可以从http://feeling.sourceforge.net下载这个库,它是开源的。

但是如果你想使用它,你应该依赖eclipse swt库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 2019-10-02
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多