У нас есть проблема с функцией PrintWindow в Windows 10 (сборка 10166). Когда мы вызываем PrintWindow (https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd162869(v=vs.85).aspx) для захвата изображения окна браузера Microsoft Edge (Project Spartan), мы получаем черное изображение.PrintWindow и Microsoft Edge
Кто-нибудь знает причину этого и как его можно устранить/избежать? Или, может быть, какой-то другой способ захватить изображение окна, которое может быть в фоновом режиме и скрыто за другими окнами?
UPDATE: Мы пытались посылать WM_PRINTCLIENT и WM_PRINT сообщения и вызова DefWindowProc с WM_PRINT, но результат тот же - только черное изображение. Мы также пытались использовать BitBlt для копирования окна DC на поверхность памяти, но он тоже не работает. Лучшее решение, которое мы имеем сейчас, - это вывести окно браузера на передний план, захватить весь экран и обрезать снимок экрана до размера клиента окна; но он может прерывать и раздражать пользователей из-за переключения приложения, которое в настоящее время используется.
Вполне вероятно, что это просто невозможно –
Вот некоторые другие случаи, когда PrintWindow не работает https://social.msdn.microsoft.com/forums/windows/en- us/d9a188ae-3503-4c31-aa00-6e7195b5384a/printwindow-bugs – demonplus
'WM_PRINTCLIENT' должен поддерживаться данным окном (несмотря на слухи об обратном, Windows не входит и не делает WM_PAINT в растровое изображение в крайнем случае) –