【发布时间】:2015-02-17 17:44:21
【问题描述】:
我想通过 c# 将打印机添加到 windows。
我编写了以下方法:
public void AddPrinter(Model.Printer printer)
{
var printerName = printer.Path;
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", printerName);
printerClass.InvokeMethod("AddPrinterConnection", inputParameters, null);
}
这适用于 Windows 7/8 客户端,但不适用于服务器 (Windows 2008/2012)。
有人知道为什么吗? 该程序似乎在运行,但没有添加任何打印机。 我没有遇到异常。
【问题讨论】:
-
使用 WMI Code Creator 实用程序编写 WMI 查询。它将帮助您不要忽略方法返回值。
标签: c# printing windows-server-2008 windows-server-2012