Partager via


Fonction SHInvokePrinterCommandW (shellapi.h)

Exécute une commande sur un objet imprimante.

Note Cette fonction est déconseillée à partir de Windows Vista. Il est recommandé d’appeler des verbes sur les imprimantes à la place via IContextMenu ou ShellExecute.
 

Syntaxe

BOOL SHInvokePrinterCommandW(
  [in, optional] HWND    hwnd,
                 UINT    uAction,
  [in]           LPCWSTR lpBuf1,
  [in, optional] LPCWSTR lpBuf2,
                 BOOL    fModal
);

Paramètres

[in, optional] hwnd

Type : HWND

Handle de la fenêtre parente de toutes les fenêtres ou boîtes de dialogue créées pendant l’opération.

uAction

Type : UINT

Type d’opération d’imprimante à effectuer. Une des valeurs suivantes :

PRINTACTION_OPEN (0)

0x0. Ouvrez l’imprimante spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

PRINTACTION_PROPERTIES (1)

0x1. Affichez les pages de propriétés de l’imprimante spécifiée par lpBuf1. Le paramètre lpBuf2 peut être NULL ou nommer une feuille de propriétés spécifique à afficher, par nom ou par numéro. Si le mot élevé de lpBuf2 est différent de zéro, il est supposé que ce paramètre est un pointeur vers une mémoire tampon qui contient le nom de la feuille à ouvrir. Sinon, lpBuf2 est considéré comme l’index de base zéro de la feuille de propriétés à ouvrir.

PRINTACTION_NETINSTALL (2)

0x2. Installez l’imprimante réseau spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

0x3. Créez un raccourci vers l’imprimante réseau spécifiée par lpBuf1. Le paramètre lpBuf2 spécifie le lecteur et le chemin du dossier dans lequel créer le raccourci. L’imprimante réseau doit déjà avoir été installée sur l’ordinateur local.

PRINTACTION_TESTPAGE (4)

0x4. Imprimez une page de test sur l’imprimante spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

PRINTACTION_OPENNETPRN (5)

0x5. Ouvrez l’imprimante réseau spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

PRINTACTION_DOCUMENTDEFAULTS (6)

0x6. Affiche les propriétés de document par défaut pour l’imprimante spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

PRINTACTION_SERVERPROPERTIES (7)

0x7. Affiche les propriétés du serveur d’imprimante spécifié par lpBuf1. Le paramètre lpBuf2 est ignoré.

[in] lpBuf1

Type : LPCTSTR

Pointeur vers une chaîne terminée par null qui contient des informations supplémentaires pour la commande printer. Les informations contenues dans ce paramètre dépendent de la valeur de uAction.

[in, optional] lpBuf2

Type : LPCTSTR

Pointeur vers une chaîne terminée par null qui contient des informations supplémentaires pour la commande printer. Les informations contenues dans ce paramètre dépendent de la valeur de uAction.

fModal

Type : BOOL

TRUE pour spécifier que SHInvokePrinterCommand ne doit pas retourner tant que la commande n’est pas terminée ; FALSE si la fonction doit retourner dès que la commande est initialisée.

Valeur retournée

Type : BOOL

Retourne TRUE en cas de réussite ; sinon, FALSE.

Remarques

Quand un nom d’imprimante est spécifié par lpBuf1, le nom peut être le nom d’une imprimante locale ou le nom du serveur et du partage d’une imprimante réseau. Lorsque vous spécifiez un nom d’imprimante réseau, le nom doit être spécifié dans ce format :

"\\<server><shared printer name>"

Cette fonction est implémentée dans shell versions 4.71 et ultérieures . Pour maintenir la compatibilité descendante avec les versions précédentes de l’interpréteur de commandes, cette fonction ne doit pas être utilisée explicitement. Au lieu de cela, les fonctions LoadLibrary et GetProcAddress doivent être utilisées pour obtenir l’adresse de la fonction.

Notes

L’en-tête shellapi.h définit SHInvokePrinterCommand en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shellapi.h
Bibliothèque Shell32.lib
DLL Shell32.dll (version 4.71 ou ultérieure)