列出可用的网络打印机(也未安装)

时间:2015-06-10 13:27:06

标签: c# list printers

意思是我能够枚举所有打印机(网络和本地),但只有在我的电脑上安装它们

但是我希望能够列出那些未安装的内容,并且可以通过使用(Windows内置)ADD PRINTER对话框查看。

甚至可能,因为我无法找到任何有用的浏览各种论坛/板,包括stackexchange。

意思是我尝试了内置的.NET类和WMI(SELECT * from Win32_Printer),但显然它们只列出已安装的打印机。

非常感谢你提前

编辑:请注意,建议的答案不是针对未安装的打印机,而是针对已安装的打印机。我已经能够列出那些。 THX

1 个答案:

答案 0 :(得分:0)

我不相信.NET中有任何东西可以做到这一点,你需要进行本机调用。关于如何枚举网络资源的Here is the MSDN page,您需要做的是调用WNetEnumResource函数来获取NETRESOURCE个对象。

您正在寻找dwType RESOURCETYPE_PRINT lpRemoteName的对象,当您找到它们时,请检查 [[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 以获取打印机的名称。

这是实现其使用的a example snippet的链接(即使URL声明它是VB,代码在C#中)。我会在这里发布,但页面上的注释明确表示不允许在未经作者许可的情况下复制和粘贴脚本。