# fsys.lnk 库模块帮助文档

## fsys 成员列表 <a id="fsys" href="#fsys">&#x23;</a>

### fsys.lnk() <a id="fsys.lnk" href="#fsys.lnk">&#x23;</a>
创建快捷方式  

[返回对象:lnkfileObject](#lnkfileObject)

## fsys.lnk 成员列表 <a id="fsys.lnk" href="#fsys.lnk">&#x23;</a>

### fsys.lnk.enum <a id="fsys.lnk.enum" href="#fsys.lnk.enum">&#x23;</a>

```aardio
fsys.lnk.enum(   
    function(dir,filename,fullpath,target,arguments){   
        /*return false 停止遍历*/    
    },0/*_CSIDL_DESKTOP*/  
);
```

### fsys.lnk.getMsiTarget(lnk文件路径) <a id="fsys.lnk.getMsiTarget" href="#fsys.lnk.getMsiTarget">&#x23;</a>
获取MSI创建的 Advertised 快捷方式指向的实际目标路径

### fsys.lnk.getTarget(lnk文件路径) <a id="fsys.lnk.getTarget" href="#fsys.lnk.getTarget">&#x23;</a>
获取快捷方式指向的目标路径,  
支持Advertised Shortcut

### fsys.lnk.search <a id="fsys.lnk.search" href="#fsys.lnk.search">&#x23;</a>
查找文件或快捷方式。  
成功返回启动路径与参数

### fsys.lnk.search("目标文件名或参数","快捷方式标题") <a id="fsys.lnk.search" href="#fsys.lnk.search">&#x23;</a>
全部参数可选,至少输入一个参数  
参数@1也可以是指定多个文件名的数组,  
搜索快捷方式的文件名与标题支持模式匹配或忽略大小写的文本比，  
直接搜索文件则必须精确匹配文件名。  

按下列顺序搜索文件:  
如果未指定标题则先调用 fsys.searchFile 在 EXE 目录及系统目录搜索，  
接着搜索桌面快捷方式、应用程序快捷方式

### fsys.lnk.searchInDesktop <a id="fsys.lnk.searchInDesktop" href="#fsys.lnk.searchInDesktop">&#x23;</a>
在桌面查找文件或快捷方式。  
成功返回启动路径与参数

### fsys.lnk.searchInDesktop("目标文件名或参数","快捷方式标题") <a id="fsys.lnk.searchInDesktop" href="#fsys.lnk.searchInDesktop">&#x23;</a>
全部参数可选,至少输入一个参数  
参数@1也可以是指定多个文件名的数组。  
搜索快捷方式的文件名与标题支持模式匹配或忽略大小写的文本比较，  
直接搜索文件则必须精确匹配文件名

### fsys.lnk.searchLnk("文件名或参数","快捷方式标题", 0 /*_CSIDL_DESKTOP*/) <a id="fsys.lnk.searchLnk" href="#fsys.lnk.searchLnk">&#x23;</a>
在桌面搜索快捷方式并返回路径  
参数@3可省略。  
成功返回启动路径与参数

### fsys.lnk.searchLnk("文件名或参数","快捷方式标题", 2 /*_CSIDL_PROGRAMS*/) <a id="fsys.lnk.searchLnk" href="#fsys.lnk.searchLnk">&#x23;</a>
在开始菜单应用程序目录搜索快捷方式。  
成功返回启动路径与参数

## lnkfileObject 成员列表 <a id="lnkfileObject" href="#lnkfileObject">&#x23;</a>

### lnkfileObject.arguments <a id="lnkfileObject.arguments" href="#lnkfileObject.arguments">&#x23;</a>
参数

### lnkfileObject.description <a id="lnkfileObject.description" href="#lnkfileObject.description">&#x23;</a>
附加说明

### lnkfileObject.filename <a id="lnkfileObject.filename" href="#lnkfileObject.filename">&#x23;</a>
快捷方式默认文件名,可省略后缀名,  
未指定则取版本信息中的产品名或目标文件名

### lnkfileObject.filepath <a id="lnkfileObject.filepath" href="#lnkfileObject.filepath">&#x23;</a>
快捷方式加载或保存成功的文件路径

### lnkfileObject.free() <a id="lnkfileObject.free" href="#lnkfileObject.free">&#x23;</a>
释放对象,  
释放对象以后不能再使用此对象

### lnkfileObject.getIcon() <a id="lnkfileObject.getIcon" href="#lnkfileObject.getIcon">&#x23;</a>
返回图标文件路径,以及图标索引。

### lnkfileObject.hotkey <a id="lnkfileObject.hotkey" href="#lnkfileObject.hotkey">&#x23;</a>
启动热键。  
16 位数值，低位字节为 虚拟键码 (virtual key code)。  
高位字节表示一个或多个修饰键的组合值：  

* _HOTKEYF_SHIFT (1): 表示 SHIFT 键。  
* _HOTKEYF_CONTROL (2): 表示 CTRL 键。  
* _HOTKEYF_ALT (4): 表示 ALT 键。  
* _HOTKEYF_EXT (8): 表示 扩展键。  

> 注意 _HOTKEYF_SHIFT，_HOTKEYF_ALT 与 _MOD_SHIFT,_MOD_ALT 的值刚好反过来。

### lnkfileObject.load() <a id="lnkfileObject.load" href="#lnkfileObject.load">&#x23;</a>
[返回对象:lnkfileObject](#lnkfileObject)

### lnkfileObject.load(lnk文件路径) <a id="lnkfileObject.load" href="#lnkfileObject.load">&#x23;</a>
载入快捷方式,返回fsys.lnk对象自身

### lnkfileObject.path <a id="lnkfileObject.path" href="#lnkfileObject.path">&#x23;</a>
目标路径,设置该属性时:  
如果workDir为空则设workDir为目标路径所在目录  
如果description为空则设为版本信息中的文件描述

### lnkfileObject.pinToDesktop(false) <a id="lnkfileObject.pinToDesktop" href="#lnkfileObject.pinToDesktop">&#x23;</a>
自桌面移除快捷方式

### lnkfileObject.pinToDesktop(true) <a id="lnkfileObject.pinToDesktop" href="#lnkfileObject.pinToDesktop">&#x23;</a>
添加快捷方式到桌面  
,参数@2如果为true则添加到所有用户程序组

### lnkfileObject.pinToPrograms(false,"子目录路径") <a id="lnkfileObject.pinToPrograms" href="#lnkfileObject.pinToPrograms">&#x23;</a>
自开始菜单程序组移除  
可选指定多个子目录参数  
如果指定了子目录则直接移除快捷方式所在父目录

### lnkfileObject.pinToPrograms(true,"子目录路径") <a id="lnkfileObject.pinToPrograms" href="#lnkfileObject.pinToPrograms">&#x23;</a>
添加到开始菜单程序组  
可选指定子目录路径,参数@3如果为true则添加到所有用户程序组

### lnkfileObject.resolve(hwndParent,flags) <a id="lnkfileObject.resolve" href="#lnkfileObject.resolve">&#x23;</a>
如果目标路径移动或丢失,  
查找符合的目标,可能显示查找对话框

### lnkfileObject.save(lnk文件存储路径) <a id="lnkfileObject.save" href="#lnkfileObject.save">&#x23;</a>
保存快捷方式  
如果指定了filename或path属性,参数也可以指定存储目录

### lnkfileObject.setIcon(文件路径,图标索引) <a id="lnkfileObject.setIcon" href="#lnkfileObject.setIcon">&#x23;</a>
设置图标文件路径  
可以指定ico文件路径,也可指定EXE文件路径用于获取EXE图标  
图标索引可省略,默认为0

### lnkfileObject.showCmd <a id="lnkfileObject.showCmd" href="#lnkfileObject.showCmd">&#x23;</a>
显示参数

### lnkfileObject.workDir <a id="lnkfileObject.workDir" href="#lnkfileObject.workDir">&#x23;</a>
工作目录
