For a very specific job, we are working with an old DOS program: Q&A 4.5.
To print to DOS we share two USB connected printers in Windows and we use the NET USE command in the batch launching our DOS application.
Syntax is:
net use lpt2 \\name of the machine where the printer is connected\name of the printer /persistent:no
This way, you can use a printer connected locally or elsewhere in the network. As long as we are using a compatible driver in our DOS program (Laserjet 2, Deskjet 500...), it works fine: yesterday, I connected a RICOH 3300D and it took me 5 minutes to get it working.
We are doing this with Windows XP, never tried with Seven but it could work.