Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How do I rename a printer programmatically?
Message
 
À
28/10/1998 09:48:39
Information générale
Forum:
Visual FoxPro
Catégorie:
Fonctions Windows API
Divers
Thread ID:
00151536
Message ID:
00151545
Vues:
25
>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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform