Compartilhar via


Função SHInvokePrinterCommandA (shellapi.h)

Executa um comando em um objeto de impressora.

Observação Essa função foi preterida a partir do Windows Vista. É recomendável que, em seu lugar, você invoque verbos em impressoras por meio de IContextMenu ou ShellExecute.
 

Sintaxe

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

Parâmetros

[in, optional] hwnd

Tipo: HWND

O identificador da janela pai de qualquer janela ou caixa de diálogo criada durante a operação.

uAction

Tipo: UINT

O tipo de operação de impressora a ser executada. Um dos seguintes valores:

PRINTACTION_OPEN (0)

0x0. Abra a impressora especificada por lpBuf1. O parâmetro lpBuf2 é ignorado.

PRINTACTION_PROPERTIES (1)

0x1. Exiba as páginas de propriedades da impressora especificada por lpBuf1. O parâmetro lpBuf2 pode ser NULL ou pode nomear uma folha de propriedades específica para exibição, por nome ou número. Se a WORD de alta de lpBuf2 não for zero, supõe-se que esse parâmetro seja um ponteiro para um buffer que contém o nome da planilha a ser aberta. Caso contrário, lpBuf2 é visto como o índice baseado em zero da folha de propriedades a ser aberta.

PRINTACTION_NETINSTALL (2)

0x2. Instale a impressora de rede especificada por lpBuf1. O parâmetro lpBuf2 é ignorado.

0x3. Crie um atalho para a impressora de rede especificada por lpBuf1. O parâmetro lpBuf2 especifica a unidade e o caminho da pasta na qual criar o atalho. A impressora de rede já deve ter sido instalada no computador local.

PRINTACTION_TESTPAGE (4)

0x4. Imprimir uma página de teste na impressora especificada por lpBuf1. O parâmetro lpBuf2 é ignorado.

PRINTACTION_OPENNETPRN (5)

0x5. Abra a impressora de rede especificada por lpBuf1. O parâmetro lpBuf2 é ignorado.

PRINTACTION_DOCUMENTDEFAULTS (6)

0x6. Exiba as propriedades do documento padrão para a impressora especificada por lpBuf1. O parâmetro lpBuf2 é ignorado.

PRINTACTION_SERVERPROPERTIES (7)

0x7. Exiba as propriedades do servidor de impressora especificadas por lpBuf1. O parâmetro lpBuf2 é ignorado.

[in] lpBuf1

Tipo: LPCTSTR

Ponteiro para uma cadeia de caracteres terminada em nulo que contém informações adicionais para o comando da impressora. As informações contidas nesse parâmetro dependem do valor de uAction.

[in, optional] lpBuf2

Tipo: LPCTSTR

Ponteiro para uma cadeia de caracteres terminada em nulo que contém informações adicionais para o comando da impressora. As informações contidas nesse parâmetro dependem do valor de uAction.

fModal

Tipo: BOOL

TRUE para especificar que SHInvokePrinterCommand não devem retornar até que o comando seja concluído; false se a função deve retornar assim que o comando for inicializado.

Valor de retorno

Tipo: BOOL

Retorna verdadeiro se bem-sucedido; caso contrário, FALSE .

Observações

Quando um nome de impressora é especificado por lpBuf1, o nome pode ser o nome de uma impressora local ou o servidor e o nome de compartilhamento de uma impressora de rede. Ao especificar um nome de impressora de rede, o nome deve ser especificado neste formato:

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

Essa função é implementada no shell versões 4.71 e posteriores. Para manter a compatibilidade com versões anteriores do Shell, essa função não deve ser usada explicitamente. Em vez disso, as funções LoadLibrary e GetProcAddress devem ser usadas para obter o endereço da função.

Nota

O cabeçalho shellapi.h define SHInvokePrinterCommand como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho shellapi.h
biblioteca Shell32.lib
de DLL Shell32.dll (versão 4.71 ou posterior)