Windows-快捷方式的工作原理--kernelboy一、快捷方式的定义:快捷方式是Windows提供的一种快速启动程序、打开文件或文件夹的方法。他是应用程序的快速连接。他的扩展名为lnk。文件的快捷方式有两种创建的办法:一是直接右键文件,发送到桌面快捷方式;二是右键空白处,在新建中选择快捷方式。如图:图:方法一图:方法二二、快捷方式链接文件的原理快捷方式只是起到链接的作用,系统会根据快捷方式记录的路径链接(目标),如右图,去找到源文件,再调用源文件打开文件。快捷方式只会根据文件名来查找文件,不理会文件的属性(即无论什么文件,只要把文件名和后缀名都改成目标文件的一样,同样打开)。两种创建快捷方式寻找源文件的方式不一样:第一种发送式创建,快捷方式的目标路径是固定的,只要源文件删除或者是移动到其他文件夹了,快捷方式就失效了。第二种方法创建快捷方式,效果有两种,一种是在桌面或者是在不同磁盘中创建快捷方式,第二种是在同一磁盘中创建快捷方式。在桌面创建和在不同磁盘中创建的最终效果和上面的发送式创建快捷方式效果一样,下面我们着重讨论在同一磁盘创建中快捷方式的情况。在和源文件同一磁盘中创建快捷方式:在和源文件同一磁盘中创建的快捷方式,只要快捷方式和源文件的相对位置没有发生变化,或者是只是快捷方式的位置发生变化。均不影响快捷方式的效果,同时在快捷方式依然有效的情况下,快捷方式属性中的目标路径会随着源文件的路径改变而改变。这种快捷方式查找源文件的方式是:首先查找目标路径,如能找到,即系统调用源文件打开;如不能找到,它会继续查找相对路径,如能找到,系统调用打开文件,且快捷方式自动更新其属性中的目标路径。如依然不能找到,快捷方式无效。下面来做个小测试,来验证理论。测试1)创建快捷方式图:属性图:文件2)把两个文件同时复制然后粘贴到桌面3)在桌面打开“test.txt”的快捷方式,查看其属性,属性值不变。其快捷方式的目标路径依然是E盘的文件路径。4)把E盘中的first文件夹直接删掉,再打开桌面的“test.txt”快捷方式:见实其目标路径属性已自动更新。总结在文件夹文件较多的时候,比如说是本地的网站,可以把首页index.html快捷方式到其的上一层目录。如文件全部迁移时,可以把快捷方式一起迁移,快捷方式效果不变。