FileGetShortcut()

Auto Hotkey

FileGetShortcut

Retrieves information about a shortcut (.lnk) file, such as its target file.

FileGetShortcut LinkFile , OutTarget, OutDir, OutArgs, OutDescription, OutIcon, OutIconNum, OutRunState
Command  Example: FileGetShortcut A_StartMenu "\Programs\Internet Explorer.lnk", Target
Function Example: FileGetShortcut(A_StartMenu "\Programs\Internet Explorer.lnk", Target)

Parameters

LinkFile

Name of the shortcut file to be analyzed, which is assumed to be in %A_WorkingDir% if an absolute path isn't specified. Be sure to include the .lnk extension.

OutTarget (optional)

Name of the variable in which to store the shortcut's target (not including any arguments it might have). For example: C:\WINDOWS\system32\notepad.exe

OutDir (optional)

Name of the variable in which to store the shortcut's working directory. For example: C:\My Documents. If environment variables such as %WinDir% are present in the string, one way to resolve them is via StrReplace. For example: StrReplace, OutDir, OutDir, `%WinDir`%, %A_WinDir%

OutArgs (optional)

Name of the variable in which to store the shortcut's parameters (blank if none).

OutDescription (optional)

Name of the variable in which to store the shortcut's comments (blank if none).

OutIcon (optional)

Name of the variable in which to store the filename of the shortcut's icon (blank if none).

OutIconNum (optional)

Name of the variable in which to store the shortcut's icon number within the icon file (blank if none). This value is most often 1, which means the first icon.

OutRunState (optional)

Name of the variable in which to store the shortcut's initial launch state, which is one of the following digits:

1: Normal
3: Maximized
7: Minimized

ErrorLevel

If there was a problem -- such as LinkFile not existing -- all the output variables are made blank and ErrorLevel is set to 1. Otherwise, ErrorLevel is set to 0.

Remarks

Any of the output variables may be omitted if the corresponding information is not needed.

Related

FileCreateShortcut, SplitPath

Example

FileSelect, file, 32,, Pick a shortcut to analyze., Shortcuts (*.lnk)
if file = ""
    return
FileGetShortcut, %file%, OutTarget, OutDir, OutArgs, OutDesc, OutIcon, OutIconNum, OutRunState
MsgBox %OutTarget%`n%OutDir%`n%OutArgs%`n%OutDesc%`n%OutIcon%`n%OutIconNum%`n%OutRunState%