1

ESC / Pコード(http://webpages.charter.net/dperr/links/esc_p83.htm)をCOM1に接続されているEpson LX-300プリンターに送信していますが、PCには既に正しいドライバーがインストールされています。他の誰かがそれを必要としています。

だから私はこれを書いた:

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 に答える