Ouverture port série utilisé par une imprimante
-
21-08-2019 - |
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 ».
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: