一台计算机中的3个硬盘:2个与Windows XP,1个与Windows 7,从它们的每一个顺序加载操作系统。
我发现在第一个XP中创build的一些工作快捷方式(不是全部)在第二个XP和Windows 7中不起作用(不能用于查看该快捷方式的对象)。
要理解为什么它不起作用,我在Windows 7中创build了相同的快捷方式,并在hex编辑器中打开这两个快捷方式的文件。
我发现它的结构是不同的,但我不知道如何比较它。
什么是Windows快捷方式的内部结构?
一些有用的快捷方式内容块的开始和结束字节是什么?
快捷方式( .lnk
)文件格式是Ms属性,可以在这里看到。
但是,为了避免读取整个PDF文件,只能保存在快捷方式中的一个东西(可以通过使用十六进制查看器“查看”快捷方式来检查)是它所引用的(完整)目标路径(!重要的是:在创建时); 所以这是DriveLetter : \ the_full_path 。
为了消除混淆,我建议玩在同一个驱动器上有快捷方式的目标。
所以,当切换硬盘驱动器( DriveLetter s – 又名C:
指向不同的东西),假设你在其中一个创建了一个快捷方式: C:\shortcut.lnk
( C:
是DriveLetter分配给Windows启动的硬盘,我们称之为HDD1),它指向另一个HDD(和分区,我们称之为HDD2)的目标文件(例如E:\target.txt
); 当你切换硬盘(制作HDD2主引导盘)时, DriveLetter也将会改变,所以现在HDD2将是C:
和HDD1 D:
. 引入HDD3等问题会更复杂。
作为对我们问题的回答: .lnk
文件不起作用,因为它们的目标不再存在。