Compartir a través de


Función SHInvokePrinterCommandA (shellapi.h)

Ejecuta un comando en un objeto printer.

Nota Esta función ha quedado en desuso a partir de Windows Vista. Se recomienda que, en su lugar, invoque verbos en impresoras a través de IContextMenu o ShellExecute.
 

Sintaxis

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

Parámetros

[in, optional] hwnd

Tipo: HWND

Identificador de la ventana primaria de las ventanas o cuadros de diálogo que se crean durante la operación.

uAction

Tipo: UINT

Tipo de operación de impresora que se va a realizar. Uno de los siguientes valores:

PRINTACTION_OPEN (0)

0x0. Abra la impresora especificada por lpBuf1. Se omite el parámetro lpBuf2.

PRINTACTION_PROPERTIES (1)

0x1. Muestra las páginas de propiedades de la impresora especificada por lpBuf1. El parámetro lpBuf2 puede ser NULL o puede asignar un nombre a una hoja de propiedades específica para mostrar, ya sea por nombre o número. Si el alto WORD de lpBuf2 es distinto de cero, se supone que este parámetro es un puntero a un búfer que contiene el nombre de la hoja que se va a abrir. De lo contrario, lpBuf2 se ve como el índice de base cero de la hoja de propiedades que se va a abrir.

PRINTACTION_NETINSTALL (2)

0x2. Instale la impresora de red especificada por lpBuf1. Se omite el parámetro lpBuf2.

0x3. Cree un acceso directo a la impresora de red especificada por lpBuf1. El parámetro lpBuf2 especifica la unidad y la ruta de acceso de la carpeta en la que se va a crear el acceso directo. La impresora de red ya debe haberse instalado en el equipo local.

PRINTACTION_TESTPAGE (4)

0x4. Imprima una página de prueba en la impresora especificada por lpBuf1. Se omite el parámetro lpBuf2.

PRINTACTION_OPENNETPRN (5)

0x5. Abra la impresora de red especificada por lpBuf1. Se omite el parámetro lpBuf2.

PRINTACTION_DOCUMENTDEFAULTS (6)

0x6. Muestra las propiedades de documento predeterminadas de la impresora especificada por lpBuf1. Se omite el parámetro lpBuf2.

PRINTACTION_SERVERPROPERTIES (7)

0x7. Muestra las propiedades del servidor de impresora especificado por lpBuf1. Se omite el parámetro lpBuf2.

[in] lpBuf1

Tipo: LPCTSTR de

Puntero a una cadena terminada en NULL que contiene información adicional para el comando printer. La información contenida en este parámetro depende del valor de uAction.

[in, optional] lpBuf2

Tipo: LPCTSTR de

Puntero a una cadena terminada en NULL que contiene información adicional para el comando printer. La información contenida en este parámetro depende del valor de uAction.

fModal

Tipo: BOOL de

TRUE para especificar que SHInvokePrinterCommand no debe devolverse hasta que se complete el comando; FALSE si la función debe devolverse tan pronto como se inicialice el comando.

Valor devuelto

Tipo: BOOL de

Devuelve true si se ejecuta correctamente; De lo contrario, FALSE.

Observaciones

Cuando se especifica un nombre de impresora mediante lpBuf1, el nombre puede ser el nombre de una impresora local o el servidor y compartir el nombre de una impresora de red. Al especificar un nombre de impresora de red, el nombre debe especificarse en este formato:

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

Esta función se implementa en shell versiones 4.71 y versiones posteriores. Para mantener la compatibilidad con versiones anteriores de Shell, esta función no se debe usar explícitamente. En su lugar, se deben usar las funciones LoadLibrary y GetProcAddress para obtener la dirección de la función.

Nota

El encabezado shellapi.h define SHInvokePrinterCommand como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shellapi.h
biblioteca de Shell32.lib
DLL de Shell32.dll (versión 4.71 o posterior)