为什么我用程序截取 QQ 聊天界面是黑框呢?当聊天界面不在被其他界面挡住时,我是针对窗口句柄进行截图的,有知道的吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
yyb123456789
V2EX    Python

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

  •  
  •   yyb123456789 2020-04-23 10:06:39 +08:00 3853 次点击
    这是一个创建于 2086 天前的主题,其中的信息可能已经有所发展或是发生改变。
    20 条回复    2020-04-23 19:51:54 +08:00
    delectate
        1
    delectate  
       2020-04-23 10:23:57 +08:00
    因为 qq 不是标准的 winform 。也不是微信那种 directUI 画出来的。
    所以即使拿到了句柄,只要不是前台展示,就不能截图。感觉像是后台隐藏的时候,只进行局部刷新一样。
    yyb123456789
        2
    yyb123456789  
    OP
       2020-04-23 10:30:12 +08:00
    那有什么办法可以解决吗?给个思路也成
    ysc3839
        3
    ysc3839  
       2020-04-23 10:59:55 +08:00 via Android
    @delectate QQ 的界面是 Direct UI 。
    具体是什么问题还是看看截图的代码吧。同时试试 OBS Studio 的窗口捕获看看能不能截到。
    yyb123456789
        4
    yyb123456789  
    OP
       2020-04-23 11:11:37 +08:00
    ysc3839 应该不是代码的问题,同样的代码只是把句柄换成 QQ 的就不行,其他界面的句柄,试了几个是可以的
    对桌面截图可以截到 QQ 的,但是我想针对句柄截图,即使界面不在最前也可以截到图
    ysc3839
        5
    ysc3839  
       2020-04-23 12:16:44 +08:00 via Android
    @yyb123456789 猜测 QQ 可能使用了 Direct2D 之类的进行绘图,试试 OBS Studio 的“游戏捕获”。
    yyb123456789
        6
    yyb123456789  
    OP
       2020-04-23 13:48:58 +08:00
    @ysc3839 好的,谢谢了,我这就试下
    ysc3839
        7
    ysc3839  
       2020-04-23 13:56:51 +08:00 via Android
    @yyb123456789 目前我只知道 UWP App 用 OBS Studio 的窗口捕获和游戏捕获都不能截取,传统 Win32 应用似乎都没问题 (我没试过 QQ 如何)。如果 QQ 真的不能捕获的话我也没什么好办法了,只能说确实存在这种情况。
    yyb123456789
        8
    yyb123456789  
    OP
       2020-04-23 15:03:20 +08:00
    @ysc3839 刚试了,不行。QQ 也是 UWP App 的一种吧,捕获不到界面,是个黑框框。和代码结果一样
    ysc3839
        9
    ysc3839  
       2020-04-23 18:16:17 +08:00 via Android
    @yyb123456789 QQ 有几个版本的,难道你用的是那个功能很少的 UWP 版?
    yyb123456789
        10
    yyb123456789  
    OP
       2020-04-23 18:37:14 +08:00
    @ysc3839 应该是较新的版本了吧官网下的,QQ9.2.3(26683) 窗口捕获可以捕获浏览器、pycharm 等的,但是 QQ 是黑框
    mywaiting
        11
    mywaiting  
       2020-04-23 19:09:44 +08:00   1
    恶意猜测:灭了 QQProtect 再试试~
    cz5424
        12
    cz5424  
       2020-04-23 19:16:55 +08:00 via iPhone
    权限问题?
    CheekiBreeki
        13
    CheekiBreeki  
       2020-04-23 19:23:19 +08:00 via Android
    和反作弊有像
    crab
        14
    crab  
       2020-04-23 19:31:18 +08:00
    QQ 有保护,别针对窗口句柄截图,GetDC 整个屏幕,再按区域提取。
    ysc3839
        15
    ysc3839  
       2020-04-23 19:37:14 +08:00 via Android
    @yyb123456789 不是微软商店下的就不是 UWP 版。
    ysc3839
        16
    ysc3839  
       2020-04-23 19:38:00 +08:00 via Android
    @crab 这保护也太奇怪了,为啥截取整个屏幕又可以呢?
    yyb123456789
        17
    yyb123456789  
    OP
       2020-04-23 19:47:01 +08:00
    @crab 桌面截图是可以的,但是我想即使不在最前端我也可以截图
    yyb123456789
        18
    yyb123456789  
    OP
       2020-04-23 19:49:06 +08:00
    @mywaiting 笑屎了,protect 杀了之后,QQ 也跟着退出了
    yyb123456789
        19
    yyb123456789  
       2020-04-23 19:50:01 +08:00
    @cz5424 不是权限问题的
    yyb123456789
        20
    yyb123456789  
    OP
       2020-04-23 19:51:54 +08:00
    @ysc3839 不清楚什么是 UWP 版本,就是在桌面时截取桌面才能截到,其他方法都截不到
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5274 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 05:46 PVG 13:46 LAX 21:46 JFK 00:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86