如何使用c#更改打印机的PortName

本文关键字:打印机 PortName 何使用 | 更新日期: 2023-09-27 18:07:10

我已经扫描了SO,没有看到这个问题张贴,抱歉,如果我错过了它,这是一个重复。

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

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

感谢您的帮助。

谢谢

如何使用c#更改打印机的PortName

您可以使用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.
}

希望有帮助。