如何以编程方式创建打印机的快捷方式?

时间:2011-10-12 14:57:46

标签: c# printers desktop-shortcut

通常,您可以通过打印机本身的右键菜单创建打印机的快捷方式。

还有其他方法吗?

我尝试使用IWshShortcut和以下参数作为targetpath

"Control Panel\Hardware and Sound\Devices and Printers\MyPrinter"

它会创建一个快捷方式,但它无效

任何想法

1 个答案:

答案 0 :(得分:2)

IWshShortcut无法创建打印机的快捷方式,因为它仅支持文件系统目标。要创建打印机的快捷方式,需要深入了解shell命名空间,这是一个非常高级的主题。您需要获取LPITEMIDLIST的{​​{1}},绑定到该文件夹​​以获取FOLDERID_PrintersFolder,使用IShellFolder枚举打印机,确定您喜欢的打印机(可能是使用IShellFolder::EnumObjects)检查其名称,然后使用IShellFolder::GetDisplayNameOf定位到该打印机的shell链接。我给了你神奇的单词,这样你就可以进行一些搜索并了解更多关于它们的内容,但我不会尝试在SO上教shell命名空间。