Erstellt eine Verknüpfung (*.lnk).
FileCreateShortcut ( "file", "lnk" [, "workdir" [, "args" [, "desc" [, "icon" [, "hotkey" [, icon number [, state]]]]]]] )
file | Vollständiger Pfad und Dateiname der Datei, auf die die Verknüpfung verweisen soll. |
lnk | Vollständiger Pfad und Dateiname der Verknüpfung. |
workdir | [optional] Arbeitsverzeichnis. |
args | [optional] Zusätzliche Dateiargumente. |
desc | [optional] Dateibeschreibung. |
icon | [optional] Vollständiger Pfad und Dateiname des zu verwendenden Icons. |
hotkey | [optional] Hotkey - im selben Format wie bei der Funktion Send(). |
icon number | [optional] Die Nummer des Icons (normalerweise 0). |
state | [optional] Der Status, in dem die Datei aufgerufen wird. Es ist entweder @SW_SHOWNORMAL, @SW_SHOWMINNOACTIVE oder @SW_SHOWMAXIMIZED zu verwenden. |
Erfolg: | 1. |
Fehler: | 0, wenn die .lnk-Datei nicht erstellt werden konnte. |
Hotkeys für Windows-Verknüpfungen haben folgende Form: Strg + Alt + X, Strg + Shift + X, Shift + Alt + X, Strg + Ziffernblocktaste oder Alt + Ziffernblocktaste, wobei X einen Buchstaben, eine Zahl, Interpunktionszeichen oder eine Funktionstaste repräsentiert. Wenn eine ungültige Form verwendet wird, verwendet Windows typischerweise Strg + Alt.
Es ist zu beachten, dass Windows die Ziffernblockzahlen von den normalen Zahlen- und Interpunktionstasten unterscheidet.
FileCreateShortcut() erlaubt es auch, Hotkeys in der Form Strg + X und Alt + X anzulegen, die Windows normalerweise nur zulässt, wenn X eine Ziffernblocktaste ist. Trotzdem sollte dies vermieden werden, da solche Zuweisungen Konflikte mit Shortcuts von Standardanwendungen hervorrufen können.
Windows verbietet ESC, ENTER, TAB, SPACEBAR (Leertaste), PRINT SCREEN (Drucken), SHIFT und BACKSPACE als Bestandteil von Hotkeys.
FileCreateShortcut() benötigt kein gültiges Ziel, Arbeitsverzeichnis, Icon und keinen gültigen Hotkey, um die .lnk-Datei "erfolgreich" anzulegen. Der Ort der Verknüpfungsdatei muss aber gültig sein! Wenn der gewählte Hotkey schon verwendet wird, bekommt die neue Verknüpfung Vorrang. Ebenso überschreibt eine Verknüpfung mit dem selben Pfad und Namen, wie eine schon existierende, die alte Verknüpfung.
FileCreateNTFSLink, FileGetShortcut
#include <MsgBoxConstants.au3>
Example()
Func Example()
; Erstellt eine Konstante im lokalen Bereich des Dateipfads der Verknüpfung.
Local Const $sFilePath = @DesktopDir & "\FileCreateShortcutExample.lnk"
; Erstellt eine Verknüpfung zur explorer.exe auf dem Desktop. Dabei wird der Tastenkombination Ctrl+Alt+T oder in AutoIt ^!t gesetzt.
FileCreateShortcut(@WindowsDir & "\explorer.exe", $sFilePath, @WindowsDir, "/e,c:\", _
"Tooltip Bescbreibung der Verknüpfung", @SystemDir & "\shell32.dll", "^!t", "15", @SW_SHOWMAXIMIZED)
; Ermittelt Details zu der Verknüpfung.
Local $aDetails = FileGetShortcut($sFilePath)
If Not @error Then
MsgBox($MB_SYSTEMMODAL, "", "Pfad: " & $aDetails[0] & @CRLF & _
"Arbeitsverzeichnis: " & $aDetails[1] & @CRLF & _
"Argumente: " & $aDetails[2] & @CRLF & _
"Bescbreibung: " & $aDetails[3] & @CRLF & _
"Dateiname des Icons: " & $aDetails[4] & @CRLF & _
"Index des Icons: " & $aDetails[5] & @CRLF & _
"Verknüpfungsstatus: " & $aDetails[6] & @CRLF)
EndIf
; Löscht die Verknüpfung.
FileDelete($sFilePath)
EndFunc ;==>Example