سؤال

وأريد الحصول على عنوان الاختصار، وليس اسم، وليس الوصف، ولكن عنوان الملف. كيفية الحصول عليه؟

ولدي معرفة لحل مسار هدفه من هنا، كيفية حل .lnk في ج #

ولكن أنا لا أجد أي طريقة للحصول على لقبه.


<الفرعية> (المصدر: ggpht.com )


<الفرعية> (المصدر: ggpht.com )

هل كانت مفيدة؟

المحلول 2

وهناك ملف مخفي Desktop.ini في دليل اختصارات، والمعلومات Desktop.ini سجلات ملف عرض سلاسل من الاختصارات.

وDesktop.ini عينة الملف:

 [LocalizedFileNames]
Windows Update.lnk=@%SystemRoot%\system32\wucltux.dll,-1
Default Programs.lnk=@%SystemRoot%\system32\sud.dll,-1

نصائح أخرى

وهذا يبدو وكأنه قد يكون محاولة للحصول على عنوان الملف نقاط الارتباط به، كما يقترح JRL.

إذا كنت لا تحاول أن تفعل ذلك، وأنا أنصح الانفتاح واحدة من هذه ملفات .lnk في محرر عرافة مثل <وأ href = "HTTP: //www.chmaas. handshake.de/delphi/freeware/xvi32/xvi32.htm "يختلط =" نوفولو noreferrer "> XVI32 . ربما يمكنك أن تقول من هناك سواء تم تضمين اسم الصينية عرضها في ملف .lnk أو هو في مكان آخر.

إذا انها في مكان آخر، قد تكون الملكية ملف موسع. هناك بعض التعليمات البرمجية المصدر التي قد تساعد في استرجاع تلك المعلومات: <لأ href = "http://www.planet-source-code.com/vb/scripts/ShowCode.asp؟txtCodeId=683&lngWId=10" يختلط = "نوفولو noreferrer "> الموسعة خصائص الملف

إذا قبل بعض فرصة أن <م> هو داخل ملف .lnk، فإنني أوصي تبحث في في ويندوز اختصار مواصفات للحصول على تعويض من المعلومات وكذا على موقع تلك البيانات.

ويمكنك استخدام واجهات برمجة التطبيقات نظام الملكية في أحدث ريلاسي من حزمة الرمز:

و(جميع خصائص 670+ في النظام وaccesible باستخدام accessors الخاصية بسيطة)

http://code.msdn.microsoft.com/WindowsAPICodePack

وأنا أعلم الحاجة الحالية ليست سوى عنوان محدود من ملفات LNK. استخدام المكتبة المذكورة أعلاه، نموذج التعليمات البرمجية قد تبدو مثل:

وShellLink myLink = ShellObject.FromParsingName ( "C: \ somepath \ myLink.lnk")؛

وعنوان سلسلة = myLink.Properties.System.Title.Value؛

و// وهذا ما يشير إلى ... الهدف سلسلة = myLink.Properties.System.TargetParsingPath.Value؛

يرجى تحديد "اللقب". سمات الوحيدة التي يبدو relevent عن هي اسم الاختصار الملف، اسم الملف على الهدف، والبيانات وصف ملف .lnk ل.

وعلى افتراض تقصد عنوان الملف النقاط تصل إلى، وليس الارتباط نفسه، وأنك تتحدث عن ويندوز، ثم يتم ذلك عبر ميزة في NTFS، تيارات بديلة. يمكنك الوصول إلى هذه الجداول باستخدام تعليمات برمجية في هذا .

ونظروا حولهم على إنشاء اختصارات، يبدو أن هناك الكثير من القفز من خلال الأطواق مع كائنات البرمجة. ولكن أنا في عداد المفقودين شيء؟ إذا كان لديك مسار إلى الاختصار، يجب أن يكون اسم بالضبط ما تجده في الطريق، وليس بعض تنسب لديك للبحث عن.

    Dim f As FileInfo = New FileInfo("C:\Name of shortcut.lnk")
    Dim title As String = f.Name.Replace(".lnk", String.Empty)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top