Я использую bitblt для захвата окна. Если тема aero включена, фон захваченного изображения черный. Если я отключу DWM и закрою окно, то захваченное изображение будет очень хорошим.Получить скриншот startmenu
Это часть моего кода.
HDC hdcMemDC = GDI32.INSTANCE.CreateCompatibleDC(desktopDC);
HDC windowDC = User32.INSTANCE.GetDC(window);
HWND window= User32Extra.INSTANCE.FindWindow(null, "Start menu");
GDI32Extra.INSTANCE.BitBlt(hdcMemDC, 0, 0, width, height, desktopDC, 0, 0, WinGDIExtra.SRCCOPY);
GDI32Extra.INSTANCE.BitBlt(hdcMemDC,windowBounds.left, windowBounds.top, windowWidth, windowHeight, windowDC, windowBounds.left+windowBounds1.right-windowBounds.right+(windowExtraGap/2), windowBounds.top+windowBounds1.bottom-windowBounds.bottom+(windowExtraGap/2), WinGDIExtra.SRCCOPY);
Как захватить начальное меню с собственным фоном?
Существуют ли какие-либо другие методы для получения правильного изображения окна аэро?
[Диспетчер рабочего стола всегда включен] (https://msdn.microsoft.com/en-us/library/windows/desktop/hh848042.aspx): * «В Windows 8 диспетчер окон рабочего стола (DWM) всегда включен и не может быть отключен конечными пользователями и приложениями. "* – IInspectable
Вы хотите отключить композицию DWM или хотите получить скриншот? –
Я хочу правильный снимок экрана HWND. – Vishnu