com.jniwrapper.win32.shell
Class ShellLink

java.lang.Object
  extended by com.jniwrapper.win32.shell.ShellLink

public class ShellLink
extends java.lang.Object

ShellLink class is a utility for creating links using the createLink(java.io.File, java.io.File, java.lang.String) function.

This class allows to create link files and to get/set link parameters such as description, arguments, path to icon file etc.


Constructor Summary
ShellLink(java.io.File linkFile)
          Creates an instance of ShellLink class for editing specified link file.
ShellLink(java.io.File linkFile, java.io.File sourceFile)
          Creates an instance of ShellLink class for editing specified link file.
 
Method Summary
static void createLink(java.io.File sourceFile, java.io.File linkFile, java.lang.String comment)
          The createLink function creates a link for a specified file.
 java.lang.String getArguments()
           
 java.lang.String getDescription()
           
 int getIconIndex()
           
 java.lang.String getIconPath()
           
 java.io.File getLinkFile()
           
 java.io.File getSourceFile()
           
 java.lang.String getWorkingDirectory()
          Returns the working directory of this object.
static java.lang.String resolveLink(java.io.File linkFile)
          The resolveLink function resolves the file name from the specified link file.
 void setArguments(java.lang.String arguments)
           
 void setDescription(java.lang.String description)
           
 void setIconPath(java.io.File iconFile, int iconIndex)
           
 void setSourceFile(java.io.File sourceFile)
           
 void setWorkingDirectory(java.lang.String value)
          Specifies the working directory for this object.
static void updateShellLink(java.io.File linkFile, java.lang.String description, java.io.File iconFile, java.lang.String arguments)
          This function updates attributes of the link file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShellLink

public ShellLink(java.io.File linkFile)
Creates an instance of ShellLink class for editing specified link file. If the link file does not exist the constructor throws IllegalArgumentException. NOTE: Because this class uses COM interfaces, it assumes that COM was initialized (using ComFunctions.coInitialize(),for example).

Parameters:
linkFile - File object that contains link file for editing.

ShellLink

public ShellLink(java.io.File linkFile,
                 java.io.File sourceFile)
          throws java.io.IOException
Creates an instance of ShellLink class for editing specified link file. If the link file does not exist it will be created. Link object sets to sourceFile. NOTE: Because this class uses COM interfaces, it assumes that COM was initialized (using ComFunctions.coInitialize(),for example).

Parameters:
linkFile - File object that contains link file for editing.
sourceFile - File object that contains link object.
Throws:
java.io.IOException
Method Detail

getLinkFile

public java.io.File getLinkFile()

setSourceFile

public void setSourceFile(java.io.File sourceFile)

getSourceFile

public java.io.File getSourceFile()

setDescription

public void setDescription(java.lang.String description)

getDescription

public java.lang.String getDescription()

setIconPath

public void setIconPath(java.io.File iconFile,
                        int iconIndex)

getIconPath

public java.lang.String getIconPath()

getIconIndex

public int getIconIndex()

setArguments

public void setArguments(java.lang.String arguments)

getArguments

public java.lang.String getArguments()

getWorkingDirectory

public java.lang.String getWorkingDirectory()
Returns the working directory of this object.

Returns:
working directory

setWorkingDirectory

public void setWorkingDirectory(java.lang.String value)
Specifies the working directory for this object.

Parameters:
value - new working directory

createLink

public static void createLink(java.io.File sourceFile,
                              java.io.File linkFile,
                              java.lang.String comment)
The createLink function creates a link for a specified file.

It uses the IShellLink and IPersistFile interfaces to create and store a shortcut to the specified file.

NOTE: Because this method uses COM interfaces, it assumes that COM was initialized (using ComFunctions.coInitialize(),for example).

Parameters:
sourceFile - source file.
linkFile - link file to be created.
comment - comment for a new link.

resolveLink

public static java.lang.String resolveLink(java.io.File linkFile)
The resolveLink function resolves the file name from the specified link file.

NOTE: Because this method uses COM interfaces, it assumes that COM was initialized (using ComFunctions.coInitialize() for example).

Parameters:
linkFile - source link (*.lnk) file.
Returns:
resolved file name.

updateShellLink

public static void updateShellLink(java.io.File linkFile,
                                   java.lang.String description,
                                   java.io.File iconFile,
                                   java.lang.String arguments)
This function updates attributes of the link file.

Parameters:
linkFile - the link file itself.
description - new description for the link.
iconFile - new icon file for the link.
arguments - arguments for the link.