Согласно MSDN PrintWindow (полученная дата 5 мая 2017 г.) Приложение получает сообщение WM_PRINT или, если указан флаг PW_PRINTCLIENT, сообщение WM_PRINTCLIENT. Для получения дополнительной информации см. WM_PRINT и WM_PRINTCLIENT.LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_PAINT:
DefWindowProc(hWnd, message, wParam, lParam);
break;
case WM_PRINT:
OutputDebugStringA("WM_PRINT");
break;
case WM_PRINTCLIENT:
OutputDebugStringA("WM_PRINTCLIENT");
break;
//other cases ...
}
return 0;
}
< /code>
Приложение B (Подробнее о приложении b) < /p>
HWND hwnd = FindWindow(NULL, lpString);
//...
//PrintWindow(hwnd, hdc, PW_CLIENTONLY);
PrintWindow(hwnd, hdc, 0);
< /code>
Когда я вызываю приложение B, чтобы захватить приложение A. Согласно MSDN PrintWindow, Case WM_PRINT должен нажимать, но вместо этого Case WM_Paint достиг. Wm_paint < /p>
< /blockquote>
Так что, наконец, я просто хочу знать, неправильно ли MSDN или мой код неверен? PrintWindow Отправить сообщение WM_PAINT или WM_PRINT? Если это действительно отправляет сообщение WM_PRINT, как работает сообщение WM_PRINT?
Подробнее здесь: https://stackoverflow.com/questions/438 ... r-wm-print
PrintWindow Отправить сообщение WM_PAINT или WM_PRINT? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение