我正在研究一个java应用程序。
我想创建应用程序的Exe文件的桌面快捷方式。
可以从我的应用程序本身做到吗?或者用户必须通过右键单击手动执行此操作?
答案 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。
s for this project. JShellLink looks at this folder on its own, so you don
不需要将DLL的路径添加到任何路径,这可能会在某些关闭的计算机上运行时引起麻烦。 li>
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文件中使用该库。 * /