繁体   English   中英

创建桌面快捷方式

[英]Create Desktop shortcut

我正在研究一个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();
    }
}

你可以从这里拿到罐子

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

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

更多细节在这里

这是一个相当古老的话题,然而我遇到了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,它忽略所有其他名称。

Excert形式jShellLink:/ **提供对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文件中使用此库。 * /

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM