Frage

Ich schicke ESC / P-Codes ( http: //webpages.charter. net / dperr / Links / esc_p83.htm ) zu einem Epson LX-300 Drucker, die bereits an den COM1 und dem PC verbunden ist, hat den richtigen Treiber installiert, weil jemand anderes es braucht.

Also schrieb ich diese:

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();
    }
}

und es funktioniert, aber nur mit dem Epson-Treiber Hinweis auf einem anderen Port oder etwas anderes, denn wenn ich es lassen COM1 mit dem obigen Code wirft:

„Der angegebene Portname beginnt nicht mit COM / com oder lösen sich nicht auf eine gültige serielle Schnittstelle.“

und für das Protokoll, das ist keine „Port bereits geöffnet“ Fehler.

War es hilfreich?

Lösung

COM1 halten durch Druckertreiber. Diese verhindern Port durch Ihre Anwendung zu öffnen. Versuchen Schalter Druckeranschluss in Eigenschaften von Druckertreiber auf etwas anderes dann COM1. Danach wird Ihre Anwendung frei COM1 zu verwenden.

Andere Tipps

Ich glaube, Sie es an den Treiber senden müssen und nicht in den Hafen. Schauen Sie sich diesen Artikel:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top