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) which created in first XP don't work in second XP and Windows 7 (not available for viewing the object for the shortcut).
To understand why it's don't work I create the same shortcut in windows 7 and open both files of these shorcuts in hex editor.
I discover that it's structures is diffrent but I do not know how to compare it.
What is the internal structure of a Windows shortcut?
What start and end bytes of some usefull blocks of shortcut's content?
Shortcuts allow you to create links to programs in any folder, Start bar, Taskbar, desktop, or other locations on the computer. A shortcut in Windows has a small arrow in the bottom-left corner of the icon, and shortcut file names end with a file extension of . lnk.
A hot key is a key or a combination of keys on a computer keyboard that, when pressed at one time, performs a task (such as starting an application) more quickly than by using a mouse or other input device. Hot keys are sometimes called shortcut keys.
In Windows, a shortcut is an icon used to represent a document, folder, or program file. You can open a file or launch an application by clicking the shortcut icon. Shortcuts are particularly useful because you can put them on your desktop or in the Start menu without having to make a copy of the actual file itself.
Microsoft Windows uses . lnk as the filename extension for shortcuts to local files, and . URL for shortcuts to remote files, like web pages. Commonly referred to as "shortcuts" or "link files", both are displayed with a curled arrow overlay icon by default, and no filename extension.
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:
When you'll switch HDDs (making HDD2 primary boot disk) the DriveLetters will change too, so now:
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With