1

我正在将 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 开头或不解析为有效的串行端口。”

并且记录在案,这不是“端口已打开”错误。

4

2 回答 2

0

我认为您需要将其发送到驱动程序而不是端口。看看这篇文章:

http://support.microsoft.com/kb/138594/EN-US/

于 2009-05-12T01:37:55.987 回答
0

COM1 由打印机驱动程序保持。这可以防止您的应用程序打开端口。尝试将打印机驱动程序属性中的打印机端口切换到 COM1 以外的端口。在此之后,您的应用程序将可以自由使用 COM1。

于 2009-12-02T08:23:26.567 回答