Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在Windows 8.1/Windows 10中捕获Metro/UWP应用程序的屏幕窗口内容?_C++_Winapi_Uwp_Screen Capture - Fatal编程技术网

C++ 如何在Windows 8.1/Windows 10中捕获Metro/UWP应用程序的屏幕窗口内容?

C++ 如何在Windows 8.1/Windows 10中捕获Metro/UWP应用程序的屏幕窗口内容?,c++,winapi,uwp,screen-capture,C++,Winapi,Uwp,Screen Capture,我正在开发一个软件,可以捕获Windows 8.1/Windows 10中Metro/UWP应用程序的隐藏屏幕窗口内容。 它看起来非常像下面: 目前,我使用的GetWindowDC(hwnd)代码如下。我可以在Win32应用程序中捕获重叠窗口 DC hDC = GetWindowDC(hwnd); BitBlt(BitmapDC, 0, 0, width, height, hDC, 0, 0, SRCCOPY /* |CAPTUREBLT */); ReleaseDC(hDC, hDC);

我正在开发一个软件,可以捕获Windows 8.1/Windows 10中Metro/UWP应用程序的隐藏屏幕窗口内容。 它看起来非常像下面:

目前,我使用的GetWindowDC(hwnd)代码如下。我可以在Win32应用程序中捕获重叠窗口

DC hDC = GetWindowDC(hwnd);
BitBlt(BitmapDC, 0, 0, width, height, hDC, 0, 0, SRCCOPY /* |CAPTUREBLT */);
ReleaseDC(hDC, hDC);
但我无法在Windows 10上的UWP应用程序上捕获重叠窗口:

我已经尝试使用GDI/GDI+和DirectX来解决这个问题,但没有成功。 你能支持我解决这个触摸问题吗

致以最良好的祝愿,
Le Le

我想你必须深入研究桌面窗口管理器。也许还有用户帐户控制。记住,这不是你的电脑,而是微软的。这个词在Windows API中有特定的含义。你似乎在用它来表达别的意思。你能澄清你的问题吗?@干杯:“记住,这不是你的电脑,而是微软的。”-不要把技术限制变成政治辩论。剔除不可见区域是一种优化,可能在每个操作系统中都有实现,它不是为在具有无限CPU/GPU处理能力的机器上运行而设计的。@干杯,谢谢你的建议。我研究了桌面窗口管理器。但很难找到解决方案。据我所知,Metro/UWP应用程序的GUI然后使用WinRT和XAML构建。使用Win32 API组件的Win32应用程序。我想当使用win32 API时,可能无法从Metro/UWP应用程序的hwnd获取捕获。是吗?您好@llnspectable,很抱歉不清楚。以上重叠窗口不在Windows API中。重叠窗口表示该窗口被其他窗口遮挡。如图所示,计算器将被Microsoft spy++遮挡。Brs,我想你必须深入研究桌面窗口管理器。也许还有用户帐户控制。记住,这不是你的电脑,而是微软的。这个词在Windows API中有特定的含义。你似乎在用它来表达别的意思。你能澄清你的问题吗?@干杯:“记住,这不是你的电脑,而是微软的。”-不要把技术限制变成政治辩论。剔除不可见区域是一种优化,可能在每个操作系统中都有实现,它不是为在具有无限CPU/GPU处理能力的机器上运行而设计的。@干杯,谢谢你的建议。我研究了桌面窗口管理器。但很难找到解决方案。据我所知,Metro/UWP应用程序的GUI然后使用WinRT和XAML构建。使用Win32 API组件的Win32应用程序。我想当使用win32 API时,可能无法从Metro/UWP应用程序的hwnd获取捕获。是吗?您好@llnspectable,很抱歉不清楚。以上重叠窗口不在Windows API中。重叠窗口表示该窗口被其他窗口遮挡。如图所示,计算器将被Microsoft spy++遮挡。Brs,