通常,您可以从打印机本身的右键菜单中创建打印机的快捷方式。
还有其他方法吗?
我尝试使用带有以下参数的 IWshShortcut 作为目标路径
"Control Panel\Hardware and Sound\Devices and Printers\MyPrinter"
它创建了一个快捷方式,但它无效
有任何想法吗
通常,您可以从打印机本身的右键菜单中创建打印机的快捷方式。
还有其他方法吗?
我尝试使用带有以下参数的 IWshShortcut 作为目标路径
"Control Panel\Hardware and Sound\Devices and Printers\MyPrinter"
它创建了一个快捷方式,但它无效
有任何想法吗
IWshShortcut
无法创建打印机的快捷方式,因为它仅支持文件系统目标。要创建打印机的快捷方式,需要深入研究 shell 命名空间,这是一个非常高级的主题。您需要为 获取LPITEMIDLIST
,FOLDERID_PrintersFolder
绑定到该文件夹以获取IShellFolder
,用于IShellFolder::EnumObjects
枚举打印机,确定您喜欢的打印机(可能通过使用 来检查其名称IShellFolder::GetDisplayNameOf
),然后用于IShellLink::SetIDList
定位到该打印机的 shell 链接。我给了你一些神奇的词,所以你可以进行一些搜索并了解更多关于它们的信息,但我不会尝试在 SO 上教授 shell 命名空间。