كيفية الحفاظ على اختصارات التطبيق الحالية / في المزامنة؟

StackOverflow https://stackoverflow.com/questions/1179031

سؤال

لدي تطبيق 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top