Что вам нужно, это не драйвер принтера. Один назвал его Print Monitor . Это DLL, которая будет загружена в процесс Spooler.exe. DLL дает Spooler на этапе инициализации логические имена портов, таких как LPT1:, FILE:, SPSPort: и т. Д. Оптпут, подготовленный с помощью драйвера принтера, должен быть любым способом отправлен на целевое устройство. Эта работа позволяет печатать мониторы типа «Стандартный порт TCP / IP» или «Локальный порт».
Для написания монитора принтера вам необходимо скачать и установить комплект драйверов Windows (WDK или некоторое время назад DDK см. http://www.microsoft.com/whdc/devtools/WDK/default.mspx). Подробнее о написании монитора принтера см. http://msdn.microsoft.com/en-us/library/ff563806(v=VS.85).aspx. Print Monitor - это DLL с некоторыми экспортированными функция (см. http://msdn.microsoft.com/en-us/library/ff549405(v=VS.85).aspx).. Рекомендую начать с модификации локального монитора, например, LocalMon, полный исходный код которого вы найдете после установки WDK (см. http://msdn.microsoft.com/en-us/library/ff556478(v=VS.85).aspx).
Наиболее практичной проблемой при написании монитора принтера является требование написания настоящей многопоточной DLL. Вы должны быть очень осторожны, понимать и использовать EnterCriticalSection
во всех своих функциях. Для отладки монитора принтера необходимо подключить отладчик Visual Studio к процессу Spooler. Остальное аналогично написанию стандартной Windows Win32 / Win64 DLL.
ОБНОВЛЕНО : еще одно небольшое замечание. Если вы не хотите, чтобы драйвер принтера что-либо делал с данными, отправленными на принтер, вы можете использовать универсальный драйвер принтера. Вы найдете его в разделе «Универсальный», принтер с названием «Универсальный / только текст». Изучите некоторые настройки драйвера, которые у вас есть (например, настройки CR LF)