我有一个应用程序自动更新程序,它检查新更新,将包括 app.exe 在内的现有文件移动到新文件夹中,并将新版本的 .exe + .dll 复制到 app 文件夹中
一切都正常运行,没有问题,但有一个小故障 - 原始安装时创建的快捷方式无效
有没有办法以编程方式修复这些快捷方式?
我有一个应用程序自动更新程序,它检查新更新,将包括 app.exe 在内的现有文件移动到新文件夹中,并将新版本的 .exe + .dll 复制到 app 文件夹中
一切都正常运行,没有问题,但有一个小故障 - 原始安装时创建的快捷方式无效
有没有办法以编程方式修复这些快捷方式?
您可以使用 WshShell 对象(以识别文件夹和位置)和 Scripting.FilesystemObject 来更新快捷方式以进行更改。
这是 MSDN 上关于 WshShell 对象的文章: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