Поделиться через


Функция SHInvokePrinterCommandA (shellapi.h)

Выполняет команду для объекта принтера.

Примечание Эта функция не рекомендуется использовать в Windows Vista. Вместо этого рекомендуется вызывать команды на принтерах с помощью IContextMenu или ShellExecute.
 

Синтаксис

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

Параметры

[in, optional] hwnd

Тип: HWND

Дескриптор родительского окна всех окон или диалоговых окон, созданных во время операции.

uAction

Тип: UINT

Тип выполняемой операции принтера. Принимает одно из следующих значений:

PRINTACTION_OPEN (0)

0x0. Откройте принтер, указанный в lpBuf1. Параметр lpBuf2 игнорируется.

PRINTACTION_PROPERTIES (1)

0x1. Отображение страниц свойств для принтера, указанного в lpBuf1. Параметр lpBuf2 может иметь значение NULL или указать имя определенного отображаемого листа свойств по имени или номеру. Если высокое значение WORDдля lpBuf2 не равно нулю, предполагается, что этот параметр является указателем на буфер, содержащий имя открываемого листа. В противном случае lpBuf2 будет рассматриваться как отсчитываемый от нуля индекс открываемого листа свойств.

PRINTACTION_NETINSTALL (2)

0x2. Установите сетевой принтер, указанный в lpBuf1. Параметр lpBuf2 игнорируется.

0x3. Создайте ярлык для сетевого принтера, указанного в lpBuf1. Параметр lpBuf2 указывает диск и путь к папке, в которой создается ярлык. Сетевой принтер должен быть уже установлен на локальном компьютере.

PRINTACTION_TESTPAGE (4)

0x4. Печать тестовой страницы на принтере, указанном lpBuf1. Параметр lpBuf2 игнорируется.

PRINTACTION_OPENNETPRN (5)

0x5. Откройте сетевой принтер, указанный в lpBuf1. Параметр lpBuf2 игнорируется.

PRINTACTION_DOCUMENTDEFAULTS (6)

0x6. Отображение свойств документа по умолчанию для принтера, указанного в lpBuf1. Параметр lpBuf2 игнорируется.

PRINTACTION_SERVERPROPERTIES (7)

0x7. Отображение свойств сервера принтера, указанного в lpBuf1. Параметр lpBuf2 игнорируется.

[in] lpBuf1

Тип: LPCTSTR

Указатель на строку, завершающуюся значением NULL, которая содержит дополнительные сведения для команды принтера. Сведения, содержащиеся в этом параметре, зависят от значения uAction.

[in, optional] lpBuf2

Тип: LPCTSTR

Указатель на строку, завершающуюся значением NULL, которая содержит дополнительные сведения для команды принтера. Сведения, содержащиеся в этом параметре, зависят от значения uAction.

fModal

Тип: BOOL

Значение TRUE указывает, что SHInvokePrinterCommand не должен возвращать, пока команда не будет завершена; FALSE , если функция должна возвращать значение сразу после инициализации команды.

Возвращаемое значение

Тип: BOOL

В случае успешного выполнения возвращает значение TRUE ; в противном случае — FALSE.

Комментарии

Если имя принтера указано в lpBuf1, это может быть имя локального принтера или имя сервера и общей папки сетевого принтера. При указании имени сетевого принтера имя должно быть указано в следующем формате:

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

Эта функция реализована в оболочке версии 4.71 и более поздних. Чтобы обеспечить обратную совместимость с предыдущими версиями оболочки, эту функцию не следует использовать явным образом. Вместо этого для получения адреса функции следует использовать функции LoadLibrary и GetProcAddress .

Примечание

Заголовок shellapi.h определяет SHInvokePrinterCommand как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shellapi.h
Библиотека Shell32.lib
DLL Shell32.dll (версия 4.71 или более поздняя)