`
strutsliu
  • 浏览: 88765 次
  • 性别: Icon_minigender_1
  • 来自: 漳州
社区版块
存档分类
最新评论

使用JAVA创建Windows下的快捷方式

阅读更多
方法一:使用JS

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;


public class MakeShortCut {
  public static String osName = System.getProperty("os.name");
/**
  * @param args
  */
public static void main(String[] args) {

    
    MakeShortCut sc = new MakeShortCut();
    File installDir = new File("D:\\test\\");
    sc.createWindowsShortcut(installDir, "SQLite Database Browser.exe",
      "test", "方正智汇");
}
/**
   *
   * @param installDir
   *            文件路径
   * @param runnable
   *            可执行性文件(***.exe)
   * @param folder
   *            文件夹名称(本级文件夹名称)
   * @param name
   *            快捷方式名称
   * @return
   */
  public boolean createWindowsShortcut(File installDir, String runnable,
    String folder, String name)
  {
   String command = null;
   if (osName.indexOf("9") != -1)
    command = "command.com   /c   cscript.exe   /nologo   ";
   else
    command = "cmd.exe   /c   cscript.exe   /nologo   ";
   if (command != null)
    try
    {
     File shortcutMaker = new File(installDir, "makeshortcut.js");
     PrintStream out = new PrintStream(new FileOutputStream(
       shortcutMaker));
     out.println("WScript.Echo(\"Creating   shortcuts...\");");
     out
       .println("Shell   =   new   ActiveXObject(\"WScript.Shell\");");
     out
       .println("ProgramsPath   =   Shell.SpecialFolders(\"Programs\");");
     /** 创建菜单快捷方式 */
     out
       .println("fso   =   new   ActiveXObject(\"Scripting.FileSystemObject\");");
     out.println("if   (!fso.folderExists(ProgramsPath   +   \"\\\\"
       + folder + "\"))");
     out.println("\tfso.CreateFolder(ProgramsPath   +   \"\\\\"
       + folder + "\");");
     out
       .println("link   =   Shell.CreateShortcut(ProgramsPath   +   \"\\\\"
         + folder + "\\\\" + name + ".lnk\");");
     out.println("link.Arguments   =   \"\";");
     out.println("link.Description   =   \"" + name + "\";");
     out.println("link.HotKey   =   \"\";");
     out.println("link.IconLocation   =   \""
       + escaped(installDir.getAbsolutePath()) + "\\\\"
       + "winamp.ico,0\";");
     out.println("link.TargetPath   =   \""
       + escaped(installDir.getAbsolutePath()) + "\\\\"
       + runnable + "\";");
     out.println("link.WindowStyle   =   1;");
     out.println("link.WorkingDirectory   =   \""
       + escaped(installDir.getAbsolutePath()) + "\";");
     out.println("link.Save();");
     /** 创建桌面快捷方式 */
     out
       .println("DesktopPath   =   Shell.SpecialFolders(\"Desktop\");");
     out
       .println("link   =   Shell.CreateShortcut(DesktopPath   +   \"\\\\"
         + name + ".lnk\");");
     out.println("link.Arguments   =   \"\";");
     out.println("link.Description   =   \"" + name + "\";");
     out.println("link.HotKey   =   \"\";");
     out.println("link.IconLocation   =   \""
       + escaped(installDir.getAbsolutePath()) + "\\\\"
       + "winamp.ico,0\";");
     out.println("link.TargetPath   =   \""
       + escaped(installDir.getAbsolutePath()) + "\\\\"
       + runnable + "\";");
     out.println("link.WindowStyle   =   1;");
     out.println("link.WorkingDirectory   =   \""
       + escaped(installDir.getAbsolutePath()) + "\";");
     out.println("link.Save();");
     out.println("WScript.Echo(\"Shortcuts   created.\");");
     /** ********* */
     out.close();
     //Process p = Runtime.getRuntime().exec( command + "   makeshortcut.js", null, installDir);
     Process p = Runtime.getRuntime().exec( "C:\\Documents and Settings\\Walker Zhang\\桌面\\PCS_Crawler_exe\\pcs_crawler.exe");
     p.waitFor();
     int rv = p.exitValue();
     if (rv == 0)
     {
      // JOptionPane.showMessageDialog(null, "创建成功");
      return true;
     } else
     {
      return false;
     }
    } catch (Exception e)
    {
     return false;
    }
   else
    return false;
  }

  public String escaped(String s)
  {
   String r = "";
   for (int i = 0; i < s.length(); i++)
   {
    if (s.charAt(i) == '\\')
     r = r + '\\';
    r = r + s.charAt(i);
   }

   return r;
  }
}


方法二:使用
JShortcut,需下载库

http://alumnus.caltech.edu/~jimmc/jshortcut/

package com.test;

import net.jimmc.jshortcut.JShellLink;

public class TestS {
public static void main(String[] args) {
  String jarFileName = "D:\\mhtest";
  // create lnk file
  JShellLink link = new JShellLink();
  link.setFolder("C:\\");
  link.setName("mhtest");
  link.setPath(jarFileName);
  link.save();

  // get the real file the lnk file link to.
  JShellLink link2 = new JShellLink("C:\\", "mhtest");
  link2.load();
  String sPath = link2.getPath();
  System.out.print(sPath);
  int i = 0;
  i++;
}
}


转载自http://nakeyfishzh.blog.163.com/blog/static/9826442120101595031153/
分享到:
评论

相关推荐

    java在windows平台创建快捷方式

    以下将详细介绍如何使用Java来创建Windows系统的快捷方式。 首先,我们需要理解Java与Windows API的交互方式。在Java中,我们不能直接调用Windows API,因为它们是用C或C++编写的。不过,我们可以使用Java的Runtime...

    Java建立及解析Windows快捷方式

    创建Windows快捷方式的步骤如下: 1. 引入`mslinks`库。在Maven项目中,可以在`pom.xml`文件中添加依赖: ```xml &lt;groupId&gt;com.github.junrar&lt;/groupId&gt; &lt;artifactId&gt;mslinks &lt;version&gt;1.0.2 ``` 2. 使用...

    java创建快捷方式

    Java 创建快捷方式是一种常见的自动化操作,特别是在开发工具或者系统集成中。这个过程涉及到Java的桌面集成API,允许程序与用户的...总的来说,Java创建快捷方式的能力为用户提供了定制化启动程序和自定义行为的便利。

    创建快捷方式-Java

    在对应的C/C++ DLL中,你将实现`createShortcut`函数,使用Windows API创建快捷方式: ```c++ extern "C" void JNICALL Java_ShortcutCreator_createShortcut(JNIEnv* env, jobject obj, jstring targetPathStr, ...

    java使用jshortcut.jar创建快捷方式

    总的来说,`jshortcut.jar`为Java开发者提供了一种方便的方式来创建Windows平台的快捷方式。虽然这个库主要用于Windows环境,但在其他不支持创建快捷方式的平台上,可能需要寻找替代方案。通过理解和使用`jshortcut....

    添加桌面快捷方式

    以下是一个使用C#编程语言创建快捷方式的例子: ```csharp using System; using System.IO; using System.Runtime.InteropServices; public class ShortcutCreator { [DllImport("shell32.dll")] public static ...

    Java快捷方式jshortcut

    这个工具的核心是`jshortcut.jar`库,它提供了API以便Java开发者能够轻松地为Windows操作系统创建快捷方式。`jshortcut.dll`是一个动态链接库文件,它在Windows平台上为`jshortcut.jar`提供了必要的本地系统接口。 ...

    快捷方式工具类

    以上就是创建和解析Windows快捷方式的基本过程。在Java项目中,你可以将这些功能封装到一个名为`ShortCut`的类中,提供方便的Java API供其他代码调用。注意,为了安全性和兼容性,需要确保正确处理异常和错误情况,...

    快捷方式工具

    本文将深入探讨快捷方式的概念、创建过程以及如何获取快捷方式的真实地址,同时我们会以Java编程语言为例,讨论如何实现快捷方式的创建和管理。 快捷方式是操作系统提供的一种机制,它本质上是一个指向实际文件或...

    Java11安装程序包Windows64位版本.zip

    Java 11是Oracle公司发布的一个长期支持版(LTS)的Java开发工具包(JDK),它在...记得在使用前确认你的系统是否满足64位Windows的要求,并且在安装过程中遵循正确的步骤,以确保Java 11能正确地在你的计算机上运行。

    android向桌面添加快捷方式

    总之,创建Android桌面快捷方式涉及到Intent的使用、快捷方式信息的设置以及权限的声明。通过以上步骤,你可以为你的应用添加一个用户友好的桌面入口。"yaozq_AddShortCut"压缩包可能包含了具体的示例代码或博客链接...

    快捷方式 操作控件带DEMO

    该资源中的DEMO(演示)部分,可能是用一种编程语言(如C#、Java或Python)编写的一个实例应用,展示了如何使用这些控件进行快捷方式的增删改查。通过DEMO,开发者可以学习到以下关键知识点: 1. **快捷方式的创建*...

    计算机软件-商业源码-186 为程序创建快捷方式.zip

    在计算机领域,创建快捷方式是一种常见的操作,它允许用户快速访问频繁使用的程序或文件,而无需每次都通过查找来启动。这个“计算机软件-商业源码-186 为程序创建快捷方式.zip”文件可能包含了一个用于自动化创建...

    Java安装:jdk-8u331-windows-x64.exe

    在向导中,用户可以选择安装路径、是否设置环境变量以及是否创建桌面快捷方式等。推荐将JDK安装在非系统盘符,以防止未来系统重装时影响Java的正常使用。 3. **环境变量配置**:安装完成后,通常需要手动配置环境...

    使用javascript创建快捷方式的简单实例

    在JavaScript中,我们不能直接创建Windows桌面快捷方式,因为JavaScript本身是一个客户端脚本语言,不具有操作系统级别的访问权限。但是,在Internet Explorer中,通过使用ActiveX控件,我们可以访问某些特定的...

    jsp生成桌面快捷方式

    生成快捷方式文件通常涉及到操作系统级别的交互,这在Java中可以通过JNI(Java Native Interface)或者使用第三方库如`javapackager`来实现。但这些方法在JSP中可能较为复杂,因为它们主要适用于Java桌面应用而非Web...

    Java程序 注册为 Windows 服务

    在Windows操作系统中,Java应用程序通常以命令行方式运行或者通过桌面快捷方式启动。然而,为了实现后台自动运行、开机启动以及与其他系统服务进行交互,我们可以将Java程序注册为Windows服务。这种方式使得Java程序...

    使用maven将Java程序打包成exe文件并制作成Windows系统服务(四)使用Inno Setup制作一键安装包insta

    3. **创建Windows系统服务**: Java程序作为Windows服务运行,可以确保在系统启动时自动启动,并且在后台运行不受用户交互影响。我们可以使用Java的`winsw`工具实现这一目标。Winsw是一个开源的、轻量级的服务包装...

    windows鼠标左右键切换java

    标题“windows鼠标左右键切换java”指的是在Windows操作系统中,使用Java编程语言开发的一个应用程序,...学习这样的项目可以帮助Java开发者深入理解如何利用Java创建桌面应用,并提供自定义功能以满足用户的特定需求。

    Windows下HEG安装方法

    右键单击HEGTool.bat文件,选择“创建快捷方式”,然后将快捷方式放在桌面或其他方便的位置上。 六、修改快捷方式图标 右键单击HEGTool.bat快捷方式,选择“属性”,然后选择“更改图标”。在浏览文件夹中,选择...

Global site tag (gtag.js) - Google Analytics