首页 > 解决方案 > 屏幕截图 Windows.UI.Core.CoreWindow 沉浸式 UWP

问题描述

我正在尝试在 Windows 10.1 中捕获特定的窗口。问题是这个窗口是一个UWP应用程序。我使用Spy++. 但是,当我使用屏幕截图功能捕获 UWP 窗口时,输出是黑色位图。我的功能适用于除此特定窗口之外的任何其他窗口。

UWP 应用程序的类是Windows.UI.Core.CoreWindow

这是我的代码:

HDC hScreenDC = GetWindowDC(ProgramData->TargetWnd);

RECT Rect = {0};
GetWindowRect(ProgramData->TargetWnd, &Rect);

INT Width  = Rect.right - Rect.left;
INT Height = Rect.bottom - Rect.top;

HDC hMemoryDC = CreateCompatibleDC(hScreenDC);

HBITMAP hBitmap = CreateCompatibleBitmap(hScreenDC, Width, Height);

HBITMAP hOldBitmap = (HBITMAP) SelectObject(hMemoryDC, hBitmap);

BitBlt(hMemoryDC, 0, 0, Width, Height, hScreenDC, 0, 0, SRCCOPY | CAPTUREBLT);

hBitmap = (HBITMAP) SelectObject(hMemoryDC, hOldBitmap);

OpenClipboard(NULL);
EmptyClipboard();
SetClipboardData(CF_BITMAP, hBitmap);
CloseClipboard();   

DeleteDC(hMemoryDC);
DeleteDC(hScreenDC);

为什么窗口没有被正确捕获,我该如何捕获它?

标签: cwinapiuwpwindows-10

解决方案


推荐阅读