How do I pause, copy and then cancel a print job before it starts printing?

I am using delphi7, I have written a simple app using Mad Collection components to hook the "CreateDCW", what happens is when a person clicks print, the hook causes a form to display asking the user if they want to print in draft mode. We already setup additional printer drivers for each printer with draft at the front.
Example: Normal Printer Name = "Lexmark 2400", Draft mode setup = "Draft Lexmark 2400".
1) How do I get the current printer name  that is going to print, each time I try something I get the default printers name instead.
2) If the printer name = "Lexmark 2400" I want to change the printer and print the document to "Draft Lexmark 2400" instead if they click on the Yes option.
3) I then need to delete the print job from "Lexmark 2400" before it starts printing, so I assume I would need to pause it, get the jobs details and then delete it.

Like I said I have got the hook working and the form displays at the correct time but now I am stuck with the printer changes.
Some code for any of the above questions would be appreciated.
Who is Participating?
Shanmuga SundaramConnect With a Mentor Director of Software EngineeringCommented:
since I am not sure about your need, whether it is in VB or in Delphi. I just provide the link for your need. Please check whether this helps
Forced accept.

EE Admin
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.