James,
I agree that changing the Windows default printer from within an application is not a good solution. But in my case it' would not be a problem because my application is printing to a ticket-printer. It's an application in a shop.
But anyway, you solution did't change the default windows-printer, only the default-printer of the program. And if the program has to print an invoice on the normal printer, I change it to the A4-laser printer.
Marc