V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ooool  ›  全部回复第 1 页 / 共 1 页
回复总数  9
2023-06-28 13:56:41 +08:00
回复了 mikewang 创建的主题 Windows 在 Windows 系统,如何防止软件窥屏?
DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY SetWindowDisplayAffinity 这个可以实现黑色或者直接从截图上小时的效果,不过想截图还是可以截图到,参考我在 t/951977 的回帖
2023-06-28 13:53:53 +08:00
回复了 mikewang 创建的主题 Windows 有谁记得 Windows XP 媒体播放器 截图的特殊现象
这个是 Multiplane overlay
https://learn.microsoft.com/en-us/windows-hardware/drivers/display/multiplane-overlay-support
视频播放这块区域,不是程序用 D3D DrawIndexed 直接画在最外层的交换链上,
而是一个单独的交换链区域,相当于子窗口一样,那块区域本质上没有任何像素,IDXGIFactory2::CreateSwapChainForComposition,CreateSwapChainForCoreWindow
如果你 HOOK dwm 截图,开启了 MPO 之后回来这个函数 IDXGISwapChainDWM1::PresentMultiplaneOverlay ,
这里面的 ID3D11Texture2D 也和你说的一样,是没有视频播放区域的,看起来都是黑色的,
除非你的交换链不是 DXGI_SWAP_EFFECT_FLIP_XXX 形式创建的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Dwm, create DWORD OverlayTestMode with value 00000005.
可以通过修改注册表关闭 MPO 这样就不会出现这种情况
如果你想截图到这些东西,可以 HOOK IDXGISwapChainDWM1::CheckMultiplaneOverlaySupport 直接返回 E_FAIL
这个函数绘制的时候,会实时监测窗口遮挡覆盖之类的东西,是否走 IDXGISwapChainDWM1::PresentDWM 分支
IDXGISwapChainDWM1::PresentDWM 截图出来的图,就是好的,UAC 之类的框也能截到
不管你反截图还是防录播,都可以截图到,以后系统更新好不好使就不知道了
2021-12-21 10:54:29 +08:00
回复了 brader 创建的主题 程序员 有人知道 QQ for Linux 还有在开发吗?
@loading 现在就是大佬要求我们做 linux 版本
2021-12-20 14:17:13 +08:00
回复了 brader 创建的主题 程序员 有人知道 QQ for Linux 还有在开发吗?
还在开发,打算用 Electron 重新做一个新的 QQ
2021-11-02 10:50:51 +08:00
回复了 Baymaxyu 创建的主题 职场话题 offer 求大佬们给个建议
建议你找一个外企,我在腾讯某部门卷到提示挂机,国庆加班五天,其实没啥活干,坐那玩到 11 点才走
2021-11-02 10:29:44 +08:00
回复了 Baymaxyu 创建的主题 职场话题 offer 求大佬们给个建议
都别去,卷的很,去哪不是写业务代码
2021-10-08 14:49:19 +08:00
回复了 chuwux 创建的主题 酷工作 米哈游 miHoYo 候选人入职送 3070 显卡啦!
刚开始觉得还行,想了一下才 3899 的显卡
我想来,在大厂卷不动了
2021-09-28 13:08:16 +08:00
回复了 proxytoworld 创建的主题 问与答 怎么摆脱用 c 的方法写 cpp
哈哈哈,我经常像楼上那么干
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2767 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 07:50 · PVG 15:50 · LAX 23:50 · JFK 02:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.