2009-07-24 108 views
1

我有一個應用程序自動更新,檢查新的更新,現有的文件包括APP.EXE移動到一個新的文件夾,複製新版本的.exe + .dll文件的進入app文件夾如何使應用程序快捷方式保持當前/同步?

一切都已經可以正常使用沒有問題,但有一個小故障 - 在原始安裝時創建的快捷方式變得無效

有沒有一種方法來以編程方式修復這些快捷方式?

+1

他們爲什麼變得無效?更新後您是否更改.exe的名稱,或者您是否希望快捷方式引用舊版本? – 2009-07-24 17:37:38

回答

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 
相關問題