为什么我用程序截取 QQ 聊天界面是黑框呢?当聊天界面不在被其他界面挡住时,我是针对窗口句柄进行截图的,有知道的吗?

2020-04-23 10:06:39 +08:00
 yyb123456789
3391 次点击
所在节点    Python
20 条回复
delectate
2020-04-23 10:23:57 +08:00
因为 qq 不是标准的 winform 。也不是微信那种 directUI 画出来的。
所以即使拿到了句柄,只要不是前台展示,就不能截图。感觉像是后台隐藏的时候,只进行局部刷新一样。
yyb123456789
2020-04-23 10:30:12 +08:00
那有什么办法可以解决吗?给个思路也成
ysc3839
2020-04-23 10:59:55 +08:00
@delectate QQ 的界面是 Direct UI 。
具体是什么问题还是看看截图的代码吧。同时试试 OBS Studio 的窗口捕获看看能不能截到。
yyb123456789
2020-04-23 11:11:37 +08:00
@ysc3839 应该不是代码的问题,同样的代码只是把句柄换成 QQ 的就不行,其他界面的句柄,试了几个是可以的
对桌面截图可以截到 QQ 的,但是我想针对句柄截图,即使界面不在最前也可以截到图
ysc3839
2020-04-23 12:16:44 +08:00
@yyb123456789 猜测 QQ 可能使用了 Direct2D 之类的进行绘图,试试 OBS Studio 的“游戏捕获”。
yyb123456789
2020-04-23 13:48:58 +08:00
@ysc3839 好的,谢谢了,我这就试下
ysc3839
2020-04-23 13:56:51 +08:00
@yyb123456789 目前我只知道 UWP App 用 OBS Studio 的窗口捕获和游戏捕获都不能截取,传统 Win32 应用似乎都没问题 (我没试过 QQ 如何)。如果 QQ 真的不能捕获的话我也没什么好办法了,只能说确实存在这种情况。
yyb123456789
2020-04-23 15:03:20 +08:00
@ysc3839 刚试了,不行。QQ 也是 UWP App 的一种吧,捕获不到界面,是个黑框框。和代码结果一样
ysc3839
2020-04-23 18:16:17 +08:00
@yyb123456789 QQ 有几个版本的,难道你用的是那个功能很少的 UWP 版?
yyb123456789
2020-04-23 18:37:14 +08:00
@ysc3839 应该是较新的版本了吧官网下的,QQ9.2.3(26683) 窗口捕获可以捕获浏览器、pycharm 等的,但是 QQ 是黑框
mywaiting
2020-04-23 19:09:44 +08:00
恶意猜测:灭了 QQProtect 再试试~
cz5424
2020-04-23 19:16:55 +08:00
权限问题?
CheekiBreeki
2020-04-23 19:23:19 +08:00
這個和遊戲反作弊有點像
crab
2020-04-23 19:31:18 +08:00
QQ 有保护,别针对窗口句柄截图,GetDC 整个屏幕,再按区域提取。
ysc3839
2020-04-23 19:37:14 +08:00
@yyb123456789 不是微软商店下的就不是 UWP 版。
ysc3839
2020-04-23 19:38:00 +08:00
@crab 这保护也太奇怪了,为啥截取整个屏幕又可以呢?
yyb123456789
2020-04-23 19:47:01 +08:00
@crab 桌面截图是可以的,但是我想即使不在最前端我也可以截图
yyb123456789
2020-04-23 19:49:06 +08:00
@mywaiting 笑屎了,protect 杀了之后,QQ 也跟着退出了
yyb123456789
2020-04-23 19:50:01 +08:00
@cz5424 不是权限问题的
yyb123456789
2020-04-23 19:51:54 +08:00
@ysc3839 不清楚什么是 UWP 版本,就是在桌面时截取桌面才能截到,其他方法都截不到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/665229

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX