创建桌面快捷方式

时间:2013-03-25 00:07:22

标签: java desktop-application

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

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

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

3 个答案:

答案 0 :(得分:9)

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();
    }
}

你可以从here

获取jar

答案 1 :(得分:1)

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

<information>
    <!-- Other elements go here -->
    <shortcut>
        <desktop/>
    </shortcut>
</information>

更多详情请见here

答案 2 :(得分:0)

这是一个相当古老的话题,尽管如此,我还是遇到了奥斯汀的绝妙回答,并在NetBeans中使用jshortcut遇到了一些问题,但我担心这也会影响Ecclipse。

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

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