我正在将ESC / P代码(http://webpages.charter.net/dperr/links/esc_p83.htm)发送到连接到COM1的Epson LX-300打印机,并且已经安装了正确的驱动程序,因为其他人需要它。
所以我写了这个:
using System.IO.Ports;
public class EpsonPrint {
private char esc = (char)27;
private char ff = (char)12;
public static void Main (string[] args) {
new EpsonPrint();
}
public EpsonPrint() {
SerialPort port = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
port.Open();
port.Write(esc+"@hola mundo!"+ff);
port.Close();
}
}
并且它可以工作,但只有Epson驱动程序指向另一个端口或其他东西,因为如果我让它使用COM1上面的代码抛出:
“给定的端口名称不是以COM / com开头,也不是解析为有效的串口。”
并且对于记录,这不是“端口已经打开”错误。
答案 0 :(得分:0)
我认为您需要将其发送到驱动程序而不是端口。看看这篇文章:
答案 1 :(得分:0)
COM1由打印机驱动程序保持。这可以防止您的应用程序打开端口。尝试将打印机驱动程序属性中的打印机端口切换到COM1以外的其他位置。在此之后您的应用程序将可以免费使用COM1。