关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭4年前。Improvethisquestion我正在使用AcquireNextFrame来自DesktopDuplicationAPI捕捉屏幕。屏幕的刷新率为120Hz。当以12
我知道DXGI_ADAPTER_DESC,但在32位构建中,Direct3D的SIZE_T类型长4个字节,所以我得到3GB而不是11。有没有办法在32位构建中获得正确的值?附言我需要calculate的值大型2D纹理阵列的上限尺寸。虽然用户不太可能拥有32位Windows和11GBVRAMGPU,但很有可能拥有4GBVRAM和32位操作系统,例如作为升级的结果。在这种情况下,我不想将我的数组限制为0。 最佳答案 根据我的研究,没有简单的方法可以实现这一点。相反,有多种(Microsoft风格)完全不同的方法来实现这一点,每一种都比另
由于Windows10不支持镜像驱动程序,我如何使用桌面复制API始终捕获控制台,即从登录窗口开始,然后是用户桌面(在用户登录后)以及锁定屏幕? 最佳答案 检测桌面Switch事件,然后在正在捕获的线程上检测SetThreadDesktop,并确保您以SYSTEM用户身份运行。 关于windows-使用DesktopDuplicationAPI捕获登录和锁定屏幕,我们在StackOverflow上找到一个类似的问题: https://stackoverflow
DXGI截取桌面图像使用DXGI截取桌面图像效率高,cpu占用低,是抓取桌面图像的好方法(只支持win8及以上)。使用DXGI截取桌面图像主要分为下面三个步骤。创建ID3D11Device和ID3D11DeviceContext对象。获取IDXGIOutputDuplication对象。调用AcquireNextFrame函数获取桌面纹理。头文件与库请在源代码文件添加如下头文件与库。#include#include#pragmacomment(lib,"d3d11.lib")#pragmacomment(lib,"dxgi.lib")定义桌面捕获类//DXGIDuplicator.h#incl
我正在尝试编写一个应用程序来捕获屏幕的视频流并将其发送到远程客户端。我发现在Windows上捕获屏幕的最佳方法是使用DXGIDesktopDuplicationAPI(自Windows8起可用)。微软提供了一个简洁的sample它将重复的帧流式传输到屏幕。现在,我一直想知道对这些帧进行编码并通过网络发送它们的最简单但仍然相对较快的方法是什么。帧来自AcquireNextFrame具有包含桌面位图和元数据的表面,其中包含已更新的脏区域和移动区域。从这里开始,我有几个选择:从DirectX表面提取位图,然后使用ffmpeg等外部库将一系列位图编码为H.264并通过RTSP发送。虽然简单明了
我正在创建一个多显示器全屏DXGI/D3D应用程序。我正在枚举可用的输出和适配器,以准备创建它们的交换链。使用DXGI的IDXGIFactory::CreateSwapChain创建我的交换链时方法,我需要提供交换链描述,其中包括DXGI_MODE_DESC类型的缓冲区描述详细说明了宽度、高度、刷新率等。如何找出当前设置的输出(或如何找出当前输出的显示模式)?当我使用此交换链进入全屏时,我不想更改用户的分辨率或刷新率。 最佳答案 在进一步查看之后,我偶然发现了EnumDisplaySettings遗留GDI函数,它允许我访问当前的分