كيفية الحفاظ على اختصارات التطبيق الحالية / في المزامنة؟
-
19-09-2019 - |
سؤال
لدي تطبيق Auto Updater الذي يتحقق من التحديثات الجديدة، ينقل الملفات الموجودة بما في ذلك App.exe في مجلد جديد ونسخ الإصدار الجديد. exe + .dll في مجلد التطبيق
كل شيء يعمل تماما دون مشاكل ولكن هناك خلل صغير واحد - أصبحت الاختصارات التي تم إنشاؤها في وقت التثبيت الأصلي غير صالح
هل هناك طريقة لإصلاح تلك الاختصارات برمجيا؟
المحلول
يمكنك تحديث اختصار باستخدام كائن Wshshell (لتحديد المجلدات والمواقع)، و Scripting.FilesystemBject لإجراء التغييرات.
فيما يلي مقالة حول 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
لا تنتمي إلى StackOverflow