Função SHInvokePrinterCommandA (shellapi.h)

Executa um comando em um objeto de impressora.

Nota 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

Digite: 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 a ser exibida, seja por nome ou número. Se o WORD alto de lpBuf2 for diferente de 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. Imprima 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 padrão do documento 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 deve retornar até que o comando seja concluído; FALSE se a função deve retornar assim que o comando for inicializado.

Retornar valor

Tipo: BOOL

Retorna TRUE se tiver êxito; caso contrário, FALSE.

Comentários

Quando um nome de impressora é especificado por lpBuf1, o nome pode ser o nome de uma impressora local ou do servidor e compartilhar o nome 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 nas versões 4.71 e posteriores do Shell . 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.

Observação

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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

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