我想通过C#将网络打印机添加到Windows用户帐户。 我使用以下代码执行此操作:
public bool AddPrinter(string printer)
{
var managementScope = new ManagementScope(ManagementPath.DefaultPath);
managementScope.Connect();
var printerClass = new ManagementClass(new ManagementPath("Win32_Printer"), null);
var inputParameters = printerClass.GetMethodParameters("AddPrinterConnection");
inputParameters.SetPropertyValue("Name", printer);
var managementBaseObject = printerClass.InvokeMethod("AddPrinterConnection", inputParameters, null);
if (managementBaseObject != null && Convert.ToInt32(managementBaseObject["ReturnValue"]) == 0)
{
return true;
}
return false;
}
作为参数我正在使用打印机的UNC路径。 这项工作到目前为止。我现在遇到的问题是,当使用打印机时,打印机的名称是打印机的UNC路径。在某些应用程序中,人们只看到路径的开头。
e.g:
\ myprinters.domain.intra ...
\ myprinters.domain.intra ...
\ myprinters.domain.intra ...
这样他们就无法看到要选择的打印机。
添加网络打印机时如何使用其他名称?