Есть несколько способов сделать это. Во всех случаях вам нужно будет извлечь контекст устройства (DC) из целевого окна (GetDC
, GetDCEx
).
Затем вы можете прочитать пиксели напрямую (GetPixel
); или скопируйте содержимое в свой собственный DC (BitBlt
) и затем получите доступ к нему (например, GetDIBits
).
Поскольку вы хотите "встроить" Internet Explorer, и тем самым вы, вероятно, хотите скрыть его окно; вам нужно будет подумать, как заставить вышеуказанное работать с окнами, которые не видны, частично видны и т. д. Также следует учитывать версию Windows и / или возможность отключения DWM (и, следовательно, содержимое окна может быть недоступно). ). Взгляните на PrintWindow
, чтобы вызвать WM_PAINT
/ WM_PRINT
.
Одно небольшое руководство MSDN, которое может познакомить вас со всем этим и содержит полный пример: Захват изображения .
В любом случае, вы всегда можете выбрать альтернативное решение, встроив другой браузер / движок в качестве библиотеки (например, Chromium Embedded Framework (CEF) , Qt's WebEngine , Electron ...).