What is the internal structure of a Windows shortcut?

前端 未结 1 648
北恋
北恋 2021-01-18 23:16

3 HDD in one computer: 2 with Windows XP, 1 with Windows 7, sequentially load the operating system from each of them.

I discover that some working shortcuts (not all

相关标签:
1条回答
  • 2021-01-18 23:29

    Shortcut (.lnk) file format information can be found at [MS.Docs]: [MS-SHLLINK]: Shell Link (.LNK) Binary File Format.

    However, to spare you from reading that whole .pdf, one thing that is stored within a shortcut for sure (can be checked by "looking" at the shortcut using a hex viewer) is the (full) target path that it references (!!!important!!! at creation time): so it's "DriveLetter:\the_full_path".

    To clear up confusion, I'd suggest playing with shortcuts that have targets on the same drive.

    When switching HDDs, the DriveLetters (aka "C:") point to different things:

    • Let's say that you created on one of them a shortcut: "C:\shortcut.lnk" ("C:" is the DriveLetter assigned to the HDD where Win booted from): let's call this HDD1.
      The shortcut points to target file located on another HDD (and partition): let's call this HDD2 (e.g. "E:\target.txt)
    • When you'll switch HDDs (making HDD2 primary boot disk) the DriveLetters will change too, so now:

      • HDD2 will be "C:"
      • HDD1 will be "D:"


      Things complicate even more when introducing HDD3 and so on.

    As an answer to our question: the .lnk files don't work because their target is no longer present.

    0 讨论(0)
提交回复
热议问题