3

我已经扫描了所以没有看到这个问题,如果我错过了,很抱歉,这是重复的。

我可以在 PrinterSettings.InstalledPrinters 中找到网络打印机,并从 printer.Properties 中获取“PortName”属性,但仅设置该属性不起作用。我试图在注册表中强制更改该打印机端口名,但这也不起作用(尽管我真的不认为它会但不得不尝试)。

我通过 reg 文件加载实现了新端口,因此不需要构建端口。(顺便说一句,我知道该端口可以正常工作,因为在打印机属性中设置它可以正常工作)。

感谢您的帮助。

谢谢

4

1 回答 1

3

您可以使用 WMI 为您的打印机设置 PortName。这是一个例子:

ManagementScope scope = new ManagementScope(@"\root\cimv2");
scope.Connect();

// Insert your printer name in the WHERE clause...
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer WHERE Name='PrinterName");


foreach (ManagementObject printer in searcher.Get())
{
  printer["PortName"]="LPT1:";
  printer.Put();  // Important: Call put to save the settings.
}

希望这可以帮助。

于 2011-08-29T20:21:39.583 回答