一台计算机中的3个硬盘:2个使用Windows XP,1个使用Windows 7,从每个计算机依次加载操作系统。
我发现在第一个XP中创建的一些工作快捷方式(不是全部)在第二个XP和Windows 7中不起作用(不能用于查看快捷方式的对象)。
要理解为什么它不起作用我在Windows 7中创建相同的快捷方式,并在十六进制编辑器中打开这些shorcuts的两个文件。
我发现它的结构不同但我不知道如何比较它。
Windows快捷方式的内部结构是什么?
快捷方式内容的一些有用块的开始和结束字节是什么?
答案 0 :(得分:2)
快捷方式(.lnk
)文件格式为MS属性及其在[MSDN]: [MS-SHLLINK]: Shell Link (.LNK) Binary File Format的描述。
但是,为了避免阅读整个 .pdf ,有一件事存放在快捷方式中(可以通过"查看"在快捷方式中使用hex viewer)是它引用的(完整)目标路径(创建时 !!! important !!! ):所以" DriveLetter :强> \ the_full_path"
为了消除困惑,我建议使用同一驱动器上有目标的快捷方式。
切换 HDD 时, DriveLetter (又名" C:" )指向不同的东西:
当您切换 HDD (制作 HDD2 主启动盘)时, DriveLetter 也会改变,所以现在:
当介绍 HDD3 等时,事情变得更加复杂。
作为对我们问题的回答:.lnk
文件不起作用,因为他们的目标不再存在。