Функция PrintWindow (winuser.h)

Функция PrintWindow копирует визуальное окно в указанный контекст устройства (DC), обычно это контроллер принтера.

Синтаксис

BOOL PrintWindow(
  HWND hwnd,
  HDC  hdcBlt,
  UINT nFlags
);

Параметры

hwnd

Дескриптор окна, которое будет скопировано.

hdcBlt

Дескриптор контекста устройства.

nFlags

Параметры рисования. Может быть одним из указанных далее.

Значение Значение
PW_CLIENTONLY
В hdcBlt копируется только клиентская область окна. По умолчанию копируется все окно.

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

Если функция выполняется успешно, она возвращает ненулевое значение.

Если функция завершается сбоем, она возвращает ноль.

Комментарии

Примечание Это блокирующая или синхронная функция, возвращаемая не сразу. Скорость возврата этой функции зависит от факторов времени выполнения, таких как состояние сети, конфигурация сервера печати и реализация драйвера принтера, которые трудно предсказать при написании приложения. Вызов этой функции из потока, который управляет взаимодействием с пользовательским интерфейсом, может привести к тому, что приложение не отвечает.
 
Приложение, которому принадлежит окно, на которое ссылается hWnd, обрабатывает вызов PrintWindow и отрисовывает изображение в контексте устройства, на которое ссылается hdcBlt. Приложение получает WM_PRINT сообщение или, если указан флаг PW_PRINTCLIENT , сообщение WM_PRINTCLIENT . Дополнительные сведения см. в разделе WM_PRINT и WM_PRINTCLIENT.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-draw-l1-1-2 (представлен в Windows 10 версии 10.0.10240)

См. также раздел

Сообщения для рисования и рисования

Общие сведения о рисовании и рисовании

WM_PRINT

WM_PRINTCLIENT