# FileCreateShortcut

创建快捷方式(.lnk) 文件.

    FileCreateShortcut Target, LinkFile , WorkingDir, Args, Description, IconFile, ShortcutKey, IconNumber, RunState

## 参数

Target

  类型: 字符串

  快捷方式引用的文件的名称, 除非文件集成到了系统中(如 Notepad.exe), 否则应该包含绝对路径. 创建快捷方式时它指向的文件不一定需要存在; 但是, 如果不存在, 某些系统可能会以意想不到的方式改变路径.

LinkFile

  类型: 字符串

  要创建的快捷方式文件名, 如果未指定绝对路径则假定在 A_WorkingDir. 必须确保扩展名为 .lnk. 目标目录必须已经存在. 如果文件已经存在, 则它会被覆盖.

WorkingDir

  类型: 字符串

  启动快捷方式时 Target 的当前工作目录. 如果为空或省略, 则快捷方式的 "起始位置" 字段为空, 而当快捷方式启动时系统会提供默认的工作目录.

Args

  类型: 字符串

  启动快捷方式时传递给 Target 的参数. 参数之间使用空格分隔. 如果某个参数包含空格, 则要把它括在双引号中.

Description

  类型: 字符串

  描述快捷方式的注释(由操作系统用于显示在 ToolTip(工具提示) 中, 等等.)

IconFile

  类型: 字符串

  显示在 LinkFile 中图标的完整路径和名称. 它必须为必须为 ico 文件或者 EXE 或 DLL 中的首个图标.

ShortcutKey

  类型: 字符串

  单个字母, 数字或在按键列表中的单个按键的名称(可能不支持鼠标按钮或其他非标准的按键). 不要 包含修饰符. 目前, 所有创建的快捷键都使用 `Ctrl`+`Alt` 作为修饰键. 例如, 如果在此参数中指定字母 B, 则快捷键将为 `Ctrl`+`Alt`+`B`.

IconNumber

  类型: 整数

  要使用 IconFile 中的图标(第一个图标除外), 请在这里指定编号. 例如, 2 表示第二个图标.

RunState

  类型: 整数

  要最小化或最大化运行 Target. 如果为空或省略, 则默认为 1(正常). 否则, 指定下列数字之一:

  - 1 = 正常
  - 3 = 最大化
  - 7 = 最小化

## 错误处理

失败时抛出异常.

## 备注

如果 Target 在系统 PATH 环境变量包含的某个文件夹中, 则其中可以不包含路径.

只有把快捷方式文件放在桌面或开始菜单的某个位置, 这样新建快捷方式的 ShortcutKey 才会生效. 如果您选择的 ShortcutKey 已经在使用中, 那么您新建的快捷方式具有优先权.

创建到 URL 的快捷方式的另一种方法是下面这个例子, 其中创建了特殊的 URL 快捷方式. 根据您的需要改变前两个参数:

    IniWrite "https://www.google.com", "C:\My Shortcut.url", "InternetShortcut", "URL"

使用下面的语句可以给上面的快捷方式添加图标:

    IniWrite <IconFile>, "C:\My Shortcut.url", "InternetShortcut", "IconFile"
    IniWrite 0, "C:\My Shortcut.url", "InternetShortcut", "IconIndex"

在上面的语句中, 替换 `0` 为图标的索引(0 表示首个图标) 并将 `<IconFile>` 替换为 URL, EXE, DLL 或 ICO 文件. 例如: `"C:\Icons.dll"`, `"C:\App.exe"`, `"https://www.somedomain.com/ShortcutIcon.ico"`

操作系统会将上面创建的 .URL 文件视为真正的快捷方式, 尽管它只是纯文本文件而不是 .LNK 文件.

## 相关

FileGetShortcut, FileAppend

## 示例

最后的参数字母 "i" 将快捷键设成 `Ctrl`+`Alt`+`I`.

    FileCreateShortcut "Notepad.exe", A_Desktop "\My Shortcut.lnk", "C:\", A_ScriptFullPath, "My Description", "C:\My Icon.ico", "i"

dftg