Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How do I rename a printer programmatically?
Message
 
To
28/10/1998 09:48:39
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00151536
Message ID:
00151545
Views:
31
>Hi all,
>
>I need to rename a printer programmatically (any printer from the printers Window in Windows NT). I have tried using the OpenPrinter() and SetPrinter() api functions, but I get errors in VFP. I am now trying to write a C++ program, but I do not know how to convert the 'pPrinter' pointer to a data structure of type PRINTER_INFO_2 in the SetPrinter function.
>
>Does anyone know how to do this? Am I on the right track?
>
>Thanks in advance,
>

Hi Maria,

I'm not a C++ programmer, but I do know a little about the API. First, add the winspool.h include file. Second, rather than a PRINTER_INFO_2 structure, which also requires a pointer to a DEVMODE structure, I'd use a PRINTER_INFO_5 structure, which doesn't require this. I'd then use a call to GetPrinter to initialize the structure, then change the name of the printer and send it to SetPrinter.

The only problem that I can see with this is NT. PRINTER_INFO_2 also requires a SECURITY_DESCRIPTOR structure. You can initialize this structure using PRINTER_INFO_2, and a call to GetPrinter, which should give you both this and the DEVMODE structure.

Hopefully, someone a bit more fluent in C++ can fill in any holes I've left open.

hth,
George

Ubi caritas et amor, deus ibi est
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform