Ответ 1
Вам не нужен драйвер принтера. Один из них назвал его 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). Я рекомендую вам начать с модификации Local Monitor, пример LocalMon, который вы получите полный исходный код после установки WDK (см. http://msdn.microsoft.com/en-us/library/ff556478(v=VS.85).aspx).
Самая практичная проблема с записью монитора принтера - необходимость записи реальной многопоточной библиотеки DLL. Вы должны быть очень осторожны, понимать и использовать EnterCriticalSection
во всех своих функциях. Для отладки монитора принтера вы должны подключить Visual Studio Debugger к диспетчеру процессов. Остальное - это то же самое, что и запись стандартной Windows Win32/Win64 DLL.
ОБНОВЛЕНО: Еще одно небольшое замечание. Если вы не хотите, чтобы драйвер принтера делал что-либо с данными, отправленными на принтер, вы можете использовать общий драйвер принтера. Вы найдете его в разделе "Generic", принтер с именем "Generic/Text Only". Изучите некоторые настройки драйвера, которые у вас есть (например, настройки CR LF)