创建桌面快捷方式

我正在研究一个java应用程序。

我想创建应用程序的Exe文件的桌面快捷方式。

可以从我的应用程序本身做到吗? 或者用户必须通过右键单击手动执行此操作?

package farzi; import net.jimmc.jshortcut.JShellLink; public class Sc { JShellLink link; String filePath; public Sc() { try { link = new JShellLink(); filePath = JShellLink.getDirectory("") + "C:\\Program Files\\Internet Explorer\\iexplore.exe"; } catch (Exception e) { } } public void createDesktopShortcut() { try { link.setFolder(JShellLink.getDirectory("desktop")); link.setName("ie"); link.setPath(filePath); link.save(); } catch (Exception ex) { ex.printStackTrace(); } } public static void main(String a[]) { Sc sc = new Sc(); sc.createDesktopShortcut(); } } 

你可以从这里拿到jar子

Java Web Start就是这样做的。 您使用常规main方法编写常规应用程序,并使用扩展名为.jnlp的简短XML文件指向它。 当用户单击指向XML文件的链接时,如果您的XML文件包含以下内容,Java Web Start将创建快捷方式:

       

更多细节在这里 。

这是一个相当古老的话题,然而我遇到了Austin的精彩回答,并在NetBeans中使用jshortcut遇到了一些问题,但我担心这也可能会影响Ecclipse。

  1. 使用属性 – >运行 – > VM选项从wihtin NetBeans将jshortcut.dll添加到java.library.path不起作用。
  2. 通过像“ System.setProperty(”java.library.path“,yourDllPath)这样的源代码添加此dll也不起作用。
  3. 而是将jshortcut.dll放到您s for this project. JShellLink looks at this folder on its own, so you don存储jar s for this project. JShellLink looks at this folder on its own, so you don特定文件夹中s for this project. JShellLink looks at this folder on its own, so you don s for this project. JShellLink looks at this folder on its own, so you don将DLL的路径添加到任何路径,这可能会在某些关闭的机器上运行时造成麻烦。
  4. 最重要的是:下载jshortcut.dll-版本时,请将AMD用于所有实际的Intel机器。 下载后将dll重命名为shortcut.dll。 JShellLink只查找shortcut.dll,它忽略所有其他名称。

ExcertformsjShellLink:/ **提供对Java的快捷方式(shell链接)的访问。 * *首次加载JShellLink时会加载本机库(jshortcut.dll)。 *默认情况下,JShellLink首先使用System.loadLibrary在PATH中查找本机库。 *如果在PATH中找不到本机库,* JShellLink将查看CLASSPATH *中的每个目录(由系统属性java.class.path的值确定)。 *如果CLASSPATH中的条目是jar文件,则JShellLink在包含该jar文件的目录中查找本机库*。 *应用程序可以覆盖此行为,并通过将system *属性JSHORTCUT_HOME设置为指向该目录,强制JShellLink查找特定目录中的本机库*。 *必须在加载JShellLink类之前设置此属性。 *这使得可以从自解压jar文件中使用此库。 * /