Windows快捷方式的内部结构是什么?

时间:2015-06-03 20:21:01

标签: windows hex structure shortcut

一台计算机中的3个硬盘:2个使用Windows XP,1个使用Windows 7,从每个计算机依次加载操作系统。

我发现在第一个XP中创建的一些工作快捷方式(不是全部)在第二个XP和Windows 7中不起作用(不能用于查看快捷方式的对象)。

要理解为什么它不起作用我在Windows 7中创建相同的快捷方式,并在十六进制编辑器中打开这些shorcuts的两个文件。

我发现它的结构不同但我不知道如何比较它。

Windows快捷方式的内部结构是什么?

快捷方式内容的一些有用块的开始和结束字节是什么?

1 个答案:

答案 0 :(得分:2)

快捷方式(.lnk)文件格式为MS属性及其在[MSDN]: [MS-SHLLINK]: Shell Link (.LNK) Binary File Format的描述。

但是,为了避免阅读整个 .pdf ,有一件事存放在快捷方式中(可以通过"查看"在快捷方式中使用hex viewer)是它引用的(完整)目标路径(创建时 !!! important !!! ):所以" DriveLetter : \ the_full_path"

为了消除困惑,我建议使用同一驱动器上有目标的快捷方式。

切换 HDD 时, DriveLetter (又名" C:" )指向不同的东西:

  • 让我们说你在其中一个上创建了一个捷径:" C:\ shortcut.lnk" " C:& #34; 是分配给 HDD DriveLetter ,其中 Win 已启动):让我们调用此 HDD1
    快捷方式指向位于另一个 HDD (和分区)上的目标文件:让我们称之为 HDD2 (例如" E:\ target.txt
  • 当您切换 HDD (制作 HDD2 主启动盘)时, DriveLetter 也会改变,所以现在:

    • HDD2 " C:"
    • HDD1 " D:"


    当介绍 HDD3 等时,事情变得更加复杂。

作为对我们问题的回答:.lnk文件不起作用,因为他们的目标不再存在。