链接分辨率

【勇芳软件工作室】汉化HomePreviousNext

如果用户创建对象的快捷方式,并且随后更改对象的名称或位置,系统将在下次用户选择该快捷方式时自动采取步骤更新或【解决】快捷方式。但是,如果应用程序创建shell链接并将其存储在流中,则系统不会自动尝试解析链接。应用程序必须通过调用IShellLink::Resolve成员函数来解析该链接。

创建shell链接时,系统保存有关链接的信息。当解析链接(自动或者如果IShellLink::Resolve被调用)时,系统首先使用指向shell链接的标识符列表的指针来检索与shell链接相关联的路径。(有关标识符列表的更多信息,请参阅项目标识符和标识符列表)。系统将搜索该路径中的关联对象,如果找到该对象,则会解析链接。如果系统找不到对象,它会在同一目录中找到具有相同文件创建时间和属性的对象,但其名称不同。此类型的搜索可解析到已重命名的对象的链接。

如果系统仍然找不到对象,它将搜索当前目录的子目录,递归地查看目录树,以获得相同名称或创建时间的匹配项。如果系统在此之后找不到匹配项,则会显示一个提示用户某个位置的对话框。应用程序可以通过在调用IShellLink::Resolve中指定SLR_NO_UI值来抑制对话框。