2009-05-12 5 views
1

Я отправляю коды ESC/P (http://webpages.charter.net/dperr/links/esc_p83.htm) на принтер Epson LX-300, который подключен к COM1, а на ПК уже установлен правильный драйвер, потому что кому-то это нужно.Открытие последовательного порта, используемого принтером

Так я писал:

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 или не разрешает действительный последовательный порт. "

и для записи это не ошибка «порт уже открыт».

ответ

0

COM1 Удержите драйвером принтера. Это предотвратит открытие порта по вашему приложению. Попробуйте переключить порт принтера в свойствах драйвера принтера на что-то другое, кроме COM1. После этого ваше приложение будет свободно использовать COM1.

0

Я думаю, вам нужно отправить его во Драйвер, а не в порт. Проверьте эту статью:

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

+0

Хорошо, это не сработало, но спасибо. Мой маленький C# выполняет эту работу, но раздражает, чтобы исходный драйвер epson был отключен. Hehehe, stackoverflow меня шутит, как я могу начать зарабатывать только с одной точкой репутации? – coma

Смежные вопросы