Функция SHInvokePrinterCommandA (shellapi.h)
Выполняет команду на объекте принтера.
Синтаксис
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 или может называть определенный лист свойств для отображения по имени или номеру. Если высокий WORDlpBuf2 ненулево, предполагается, что этот параметр является указателем на буфер, содержащий имя открытого листа. В противном случае lpBuf2 рассматривается как отсчитываемый от нуля индекс открытого листа свойств.
PRINTACTION_NETINSTALL (2)
0x2. Установите сетевой принтер, указанный lpBuf1. Параметр lpBuf2 игнорируется.
PRINTACTION_NETINSTALLLINK (3)
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 Профессиональный, Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | shellapi.h |
библиотеки |
Shell32.lib |
DLL | Shell32.dll (версия 4.71 или более поздняя) |