Search code examples
javascriptingvbscriptshortcut

Creating shortcut links (.lnk) from Java


I am writing an installer (launcher) in Java and require the ability to be able to create a shortcut on the users desktop during the process.

I am interested in any ideas as the best way to do this. My one option I have considered is using a VB Script on windows and using the native 'shortcut.exe' to do it for me, however a third party file utility would be preferred.


Solution

  •   /**
       * Create an Internet shortcut
       * @param name     name of the shortcut
       * @param where    location of the shortcut
       * @param target   URL 
       * @param icon     URL (ex. http://www.server.com/favicon.ico)
       * @throws IOException
       */
      public static void createInternetShortcut
          (String name, String where, String target, String icon) 
        throws IOException
      {
        FileWriter fw = new FileWriter(where);
        fw.write("[InternetShortcut]\n");
        fw.write("URL=" + target + "\n");
        if (!icon.equals(""))  {
          fw.write("IconFile=" + icon + "\n");  
        }
        fw.flush();
        fw.close();
      }