我有一个应用程序自动更新程序,它会检查新的更新,将包含app.exe的现有文件移动到新文件夹中,并将新版本.exe + .dll复制到app文件夹中
一切都运行良好而没有问题但是有一个小故障 - 原始安装时创建的快捷方式变得无效
有没有办法以编程方式修复这些快捷方式?
答案 0 :(得分:1)
您可以使用WshShell对象更新快捷方式(以识别文件夹和位置),使用Scripting.FilesystemObject进行更改。
以下是有关WshShell对象的MSDN文章: http://msdn.microsoft.com/en-us/library/aew9yb99(VS.85).aspx
这是替换VB脚本中的快捷方式链接的示例:
Sub ReplaceShortcut (folder, target, targetTarget)
set oFso = CreateObject("Scripting.FilesystemObject")
Set oFolder = oFso.GetFolder(folder)
Set oFiles = oFolder.Files
For Each oFile In oFiles
If LCase(oFso.GetExtensionName(oFile.name)) = "lnk" Then
Set oLnk = oShell.CreateShortcut(oFile.path)
If instr(1, oLnk.TargetPath, target, 1)<>0 Then
oLnk.TargetPath = replace(oLnk.TargetPath, target, targetTarget)
oLnk.Save
End If
End If
Next
End Sub