Question

J'envoie ESC / P codes ( http: //webpages.charter. net / dperr / liens / esc_p83.htm ) à une imprimante Epson LX-300 qui est connecté au COM1 et le PC a déjà le bon pilote installé parce que quelqu'un d'autre a besoin il.

Alors je l'ai écrit ceci:

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

et cela fonctionne, mais seulement avec le pilote Epson pointant vers un autre port ou autre chose, parce que si je le laisse en utilisant le code COM1 jette ci-dessus:

« Le nom du port donné ne démarre pas avec COM / com ou ne résout pas à un port série valide. »

et pour l'enregistrement, ce n'est pas une erreur « port déjà ouvert ».

Était-ce utile?

La solution

COM1 prise par le pilote de l'imprimante. Cela empêche l'ouverture du port par votre application. Essayez commutateur port d'imprimante dans les propriétés du pilote de l'imprimante à autre chose COM1. Après cette Votre demande sera libre d'utiliser COM1.

Autres conseils

Je pense que vous devez envoyer au pilote et non au port. Consultez cet article:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top