Написание фиктивного сетевого общего принтера - PullRequest
1 голос
/ 09 июля 2010

Я хочу написать фиктивный драйвер принтера, который отображается как общий принтер в локальной сети и может принимать задания на печать;поэтому, когда он установлен на компьютере, другие компьютеры в локальной сети могут просматривать и добавлять его как обычный сетевой принтер и отправлять на него задания на печать.Я хочу сделать это в C #, есть ли лучшие предложения?

Может кто-нибудь сказать мне любую информацию относительно этого, советы, инструменты, материалы для чтения и т. Д. Что-нибудь!

1 Ответ

2 голосов
/ 09 июля 2010

Если вам нужен только принтер, который будет принимать задания и ничего не делать с данными, вам не нужно писать собственный драйвер принтера.Просто создайте локальный принтер, и когда он попросит у вас порт, создайте новый локальный порт и дайте ему имя NUL.Из документации по Windows XP Professional :

Если принтер физически подключен к серверу печати, выберите соответствующий локальный порт.LPT1 - LPT3 представляют параллельные порты;COM1 - COM4 представляют последовательные порты. Когда клиент печатает на порт принтера, обозначенный как FILE, у клиента запрашивается имя файла.Если вы решите добавить новый локальный порт, вы можете ввести одно из следующих:

  • Имя файла, например C: \ Dir \ Filename.Все задания, отправляемые на этот порт, записываются в именованный файл, и каждое новое задание перезаписывает последнее.
  • Имя общего ресурса принтера, например \ Server \ Printer (URL-адреса не принимаются).Задания, отправленные на этот порт, передаются по сети на указанный общий ресурс сетевым перенаправителем.

  • NUL.Здесь указывается пустой порт, который можно использовать для проверки того, могут ли сетевые клиенты отправлять задания.Задания, отправленные в NUL, удаляются, не тратя бумаги и не задерживая реальные задания на печать.

  • IR.Используйте этот порт для подключения к принтерам с поддержкой инфракрасного излучения, отвечающим требованиям IRDA.Если ваше оборудование не поддерживает IR, оно не будет отображаться на вкладке «Порты».
...