创建桌面快捷方式
我正在研究一个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。
- 使用属性 – >运行 – > VM选项从wihtin NetBeans将jshortcut.dll添加到java.library.path不起作用。
- 通过像“ System.setProperty(”java.library.path“,yourDllPath)这样的源代码添加此dll也不起作用。
- 而是将jshortcut.dll放到您
s for this project. JShellLink looks at this folder on its own, so you don
存储jars 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的路径添加到任何路径,这可能会在某些关闭的机器上运行时造成麻烦。 - 最重要的是:下载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文件中使用此库。 * /