创建非文件对象的快捷方式

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

创建非文件对象(如打印机)的快捷方式类似于创建文件的快捷方式。主要区别在于,不必设置文件的路径,您必须将标识符列表设置为打印机。要设置标识符列表,您必须调用IShellLink::SetIDList成员函数,指定标识符列表的地址。

shell命名空间中的每个对象都有一个项目标识符,一个包含标识其文件夹内对象的信息的可变长度字节流。外壳通常将项目标识符连接到由任意数量的项目标识符组成的以null结尾的列表中。

一般来说,如果您需要设置一个没有文件名的项目的快捷方式(如打印机),那么您将已经有一个指向该对象的IShellFolder界面的指针。IShellFolder接口用于创建命名空间扩展。

一旦获得了IShellFolder接口的类标识符,您可以调用CoCreateInstance函数获取接口的地址。然后,您可以调用该接口来枚举文件夹中的对象,并检索要搜索的对象的项标识符的地址。最后,您可以使用IShellLink::SetIDList成员函数调用中的地址来创建对象的快捷方式。