映射网络打印机c#
在C中是否可以使用以下约定获取网络打印机路径# computername\printername PrinterSettings。已安装的打印机提供打印机名称,但不提供路径信息映射网络打印机c#,c#,networking,printing,C#,Networking,Printing,在C中是否可以使用以下约定获取网络打印机路径# computername\printername PrinterSettings。已安装的打印机提供打印机名称,但不提供路径信息 提前感谢这适用于打印机映射。您需要确保添加IWShurantimeLibrary作为参考: using IWshRuntimeLibrary; private void MappPrinter() { WshNetwork oNetwork = new WshNetwork();
提前感谢这适用于打印机映射。您需要确保添加IWShurantimeLibrary作为参考:
using IWshRuntimeLibrary;
private void MappPrinter()
{
WshNetwork oNetwork = new WshNetwork();
oNetwork.AddWindowsPrinterConnection("\\\\computername\\printername", "HPLJ6000","\\\\computername\\printername");
}
获取此信息的一种快速而肮脏的方法是使用iwruntimelibrary库(wshom.ocx)
WshNetwork network=new WshNetwork();
var printers=network.EnumPrinterConnections();
对于(int i=0;i
…但更具前瞻性的方法是使用Winspool的PRINTER\u INFO\u 2结构中包含的信息,该结构是从GetPrinter方法返回的
OP询问的是如何获取打印机的网络路径,而不是如何将其添加为本地打印机。噢,我刚刚读了问题标题!顺便说一句,我很确定使用WMI查询可以读取已安装打印机的网络路径。我将在这里发布示例代码。对不起,答错了!
WshNetwork network = new WshNetwork();
var printers = network.EnumPrinterConnections();
for (int i = 0; i < printers.Count(); i += 2)
{
Console.WriteLine(printers.Item(i) + " \t" + printers.Item(i+1));
}