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