This print system extends the original Win16 program by using Windows's hook API to override the "Setup" button to invoke my Win32-based configuration program, which configures the LPD server to hand off incoming print jobs to pasprn32.exe. My pasprn32.exe program performed the PCL interpretation and printer GDI context printing. Interestingly, this strategy uncovered a difference between Windows 95 and Windows NT. In Windows NT and higher, the "Setup" button hook successfully launches my configuration program, but it fails to stop the LPD server from displaying its own configuration dialog box, which was properly suppressed in Windows 95.
With logging, it's possible to keep track of the print jobs to quickly diagnose any problems that might arise with LPD printing. At the user's option, word wrapping may be enabled or disabled, among other options.
This system supports up to twenty printer queues on one computer, permitting customization of font and print settings for different programs on a AS/400 or UNIX host without having to manually switch between settings on the client for different types of print jobs. It's also possible to have one computer running this system handle printing for up to twenty different printers that are either physically attached or on another computer across the network.
Because some of the components of this program were created while I was employed at the Grapevine-Colleyville ISD and the original program is restricted for academic and educational use only, I cannot redistribute this program without permission. Fortunately, free alternatives exist in the marketplace.