Wie man Anwendungsverknüpfungen Strom / synchron halten?
-
19-09-2019 - |
Frage
Ich habe eine Anwendung, die automatische Aktualisierungsfunktion für neues Updates überprüft, die vorhandenen Dateien einschließlich den app.exe in einen neuen Ordner verschoben und kopiert die neue Version .exe + .dll in den App-Ordner
alles hat perfekt funktioniert ohne Probleme, aber es gibt eine kleine Panne - die Verknüpfungen zu dem Zeitpunkt der ursprünglichen erstellt installiert ungültig
Gibt es eine Möglichkeit, um programmatisch diese Verknüpfungen zu beheben?
Lösung
Sie können eine Verknüpfung aktualisieren mit WshShell Objekt (auf Ordner und Standorte zu identifizieren) und die Scripting.FileSystemObject um die Änderungen vorzunehmen.
Hier ist ein Artikel auf MSDN über das WshShell Objekt: http://msdn.microsoft.com/en-us /library/aew9yb99(VS.85).aspx
Dies ist ein Beispiel eine Verknüpfung, in VB Script zu ersetzen:
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