문제

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으로 시작하지 않거나 유효한 직렬 포트로 해결되지 않습니다."

그리고 기록의 경우, 이것은 "포트 이미 열린"오류가 아닙니다.

도움이 되었습니까?

해결책

COM1은 프린터 드라이버에 의해 유지됩니다. 이렇게하면 응용 프로그램에 의해 포트가 열리지 않습니다. 프린터 드라이버의 속성에서 스위치 프린터 포트를 COM1보다 다른 것으로 시도하십시오. 이 후에 응용 프로그램은 COM1을 자유롭게 사용할 수 있습니다.

다른 팁

나는 당신이 그것을 항구로 보내지 않고 운전자에게 보내야한다고 생각합니다. 이 기사를 확인하십시오.

http://support.microsoft.com/kb/138594/en-us/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top