To, czego potrzebujesz, nie jest sterownikiem drukarki. Jeden nazwał go Monitor druku. Jest to biblioteka DLL, która zostanie załadowana do procesu Spooler.exe. Biblioteka DLL przekazuje Buforowi w fazie inicjalizacji logiczne nazwy portów takich jak LPT1 :, PLIK :, SPSPort: itd. Optput przygotowany za pomocą sterownika drukarki musi być wysłany w jakikolwiek sposób do urządzenia docelowego. Ta praca drukuje monitory takie jak "Standardowy port TCP/IP" lub "Port lokalny".
Aby napisać monitor drukarki, należy pobrać i zainstalować zestaw Windows Driver Kit (WDK lub jakiś czas temu DDK patrz http://www.microsoft.com/whdc/devtools/WDK/default.mspx). Więcej informacji na temat pisania monitora drukarki można znaleźć pod numerem http://msdn.microsoft.com/en-us/library/ff563806(v=VS.85).aspx. Monitor drukowania to biblioteka DLL z wyeksportowaną funkcją (patrz http://msdn.microsoft.com/en-us/library/ff549405(v=VS.85).aspx). Polecam, aby rozpocząć od modyfikowania LocalMonitor LocalMon, który zostanie wykryty po zainstalowaniu WDK (zobacz http://msdn.microsoft.com/en-us/library/ff556478(v=VS.85).aspx).
Najbardziej praktycznym problemem przy pisaniu monitora drukarki jest wymóg pisania prawdziwego wielowątkowego pliku DLL. Musisz być bardzo ostrożny, zrozumieć i używać EnterCriticalSection
we wszystkich funkcjach. Do debugowania monitora drukarki powinieneś podłączyć Visual Studio Debugger do Spoolera procesu. Reszta jest taka sama jak przy pisaniu standardowej biblioteki DLL systemu Windows Win32/Win64.
ZAKTUALIZOWANA: Jeszcze jedna mała uwaga. Jeśli nie chcesz, aby sterownik drukarki robił cokolwiek z danymi wysłanymi do drukarki, możesz użyć ogólnego sterownika drukarki. Znajdziesz go w "Generycznej" produkcji, drukarce o nazwie "Generic/Text Only".Zbadać niektóre ustawienia sterownika który was (jak ustawieniami LF CR)
To jest poprawna odpowiedź, zrobiłem takie rzeczy. Ale Ty ** nie chcesz robić niczego więcej niż to konieczne w procesie buforowania: po pobraniu danych, rozpocznij nowy proces, który obsługuje składowanie i wysyłanie wiadomości e-mail. – egrunin
@egrunin: Dobra sugestia, aby bardziej skomplikowane prace w ramach oddzielnych procesów! Napisałem także wiele lat temu o programie Print Monitor i mogę powiedzieć, że najbardziej złożonym problemem jest debugowanie w środowisku wielodostępowym dla wielu użytkowników. Rozpoczęcie oddzielnych procesów może ułatwić debugowanie. – Oleg
Wszystkie linki w tym artykule są martwe. Każda możliwa aktualizacja? – Attaque