Board logo

标题: [原创] vbs获取并修改Lnk快捷方式的属性值 [打印本页]

作者: apang    时间: 2014-12-10 00:34     标题: vbs获取并修改Lnk快捷方式的属性值

本帖最后由 apang 于 2014-12-10 00:42 编辑

LNK快捷方式的属性主要包括以下几项:
1.目标(T)
2.起始位置(S)
3.快捷键(K)
4.运行方式(R)
5.备注(O)
6.快捷方式图标(C)
7.参数

以下为一个实例,先创建一个 notepad.exe 的桌面快捷方式,然后获取快捷方式属性值,再修改它。

创建快捷方式:
  1. Dim WshShell, strDesk, strWinDir, objLink
  2. Set WshShell = CreateObject("WScript.Shell") ''创建对象
  3. strDesk = WshShell.SpecialFolders("DeskTop") ''桌面文件夹路径
  4. strWinDir = WshShell.ExpandenVironmentStrings("%WinDir%") ''系统文件夹路径
  5. Set objLink = WshShell.CreateShortcut(strDesk & "\NotePad.LNK")
  6. objLink.TargetPath = strWinDir & "\system32\notepad.exe" ''目标路径
  7. objLink.WorkingDirectory = strWinDir & "\system32" ''工作目录(起始位置)
  8. objLink.WindowStyle = 1 ''窗口风格(运行方式 1=常规,3=最大化,7=最小化)
  9. objLink.Description = "记事本" ''描述(备注)
  10. objLink.IconLocation = strWinDir & "\system32\notepad.exe, 0" ''设置图标
  11. objLink.Save
复制代码
获取快捷方式属性值:
  1. Dim objShell, objFolder, objFolderItem, objShellLink, s
  2. Set objShell = CreateObject("Shell.Application")  ''创建对象
  3. Set objFolder = objShell.NameSpace(&H00)    ''桌面文件夹路径
  4. Set objFolderItem = objFolder.ParseName("NotePad.LNK")
  5. Set objShellLink = objFolderItem.GetLink  ''创建快捷方式对象
  6. s = "目标路径:" & objShellLink.Path & vbLf
  7. s = s & "工作目录:" & objShellLink.WorkingDirectory & vbLf
  8. s = s & "快捷键:" & objShellLink.Hotkey & vbLf
  9. s = s & "运行方式:" & objShellLink.ShowCommand & vbLf
  10. s = s & "描述:" & objShellLink.Description & vbLf
  11. WScript.Echo s
复制代码
修改快捷方式属性值:
  1. Dim objShell, objFolder, strWinDir, objFolderItem, objShellLink
  2. Set objShell = CreateObject("Shell.Application")  ''创建对象
  3. Set objFolder = objShell.NameSpace(&H00)    ''桌面文件夹路径
  4. strWinDir = objShell.NameSpace(&H24).Self.Path ''系统文件夹路径
  5. Set objFolderItem = objFolder.ParseName("NotePad.LNK")
  6. Set objShellLink = objFolderItem.GetLink  ''创建快捷方式对象
  7. objShellLink.Path = strWinDir & "\NotePad.exe" ''修改目标路径
  8. objShellLink.WorkingDirectory = objFolder.Self.Path ''修改工作目录为桌面
  9. objShellLink.Hotkey = 1614 ''修改快捷键为 Ctrl + Alt + N
  10. ''Shift=256,Ctrl=512,Alt=1024,N(虚拟键位)=78,累加后值为1614
  11. ''虚拟键码表:http://msdn.microsoft.com/en-us/library/dd375731(VS.85).aspx
  12. objShellLink.ShowCommand =  3 ''修改运行方式(1=常规 3=最大化 7=最小化)
  13. objShellLink.Description = "这是一个快捷方式" ''修改描述
  14. objShellLink.Arguments = WScript.ScriptFullName ''增加参数
  15. objShellLink.SetIconLocation strWinDir & "\explorer.exe", 0 ''修改图标
  16. objShellLink.Save  ''保存修改
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2