推荐学习书目
› 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 · Apr 23, 2020 · 4495 views
    This topic created in 2392 days ago, the information mentioned may be changed or developed.
    20 replies  •  2020-04-23 19:51:54 +08:00
    delectate
    delectate
    Apr 23, 2020
    1
    因为 qq 不是标准的 winform 。也不是微信那种 directUI 画出来的。
    所以即使拿到了句柄,只要不是前台展示,就不能截图。感觉像是后台隐藏的时候,只进行局部刷新一样。
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    2
    那有什么办法可以解决吗?给个思路也成
    ysc3839
    ysc3839
    Apr 23, 2020 via Android
    3
    @delectate QQ 的界面是 Direct UI 。
    具体是什么问题还是看看截图的代码吧。同时试试 OBS Studio 的窗口捕获看看能不能截到。
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    4
    @ysc3839 应该不是代码的问题,同样的代码只是把句柄换成 QQ 的就不行,其他界面的句柄,试了几个是可以的
    对桌面截图可以截到 QQ 的,但是我想针对句柄截图,即使界面不在最前也可以截到图
    ysc3839
    ysc3839
    Apr 23, 2020 via Android
    5
    @yyb123456789 猜测 QQ 可能使用了 Direct2D 之类的进行绘图,试试 OBS Studio 的“游戏捕获”。
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    6
    @ysc3839 好的,谢谢了,我这就试下
    ysc3839
    ysc3839
    Apr 23, 2020 via Android
    7
    @yyb123456789 目前我只知道 UWP App 用 OBS Studio 的窗口捕获和游戏捕获都不能截取,传统 Win32 应用似乎都没问题 (我没试过 QQ 如何)。如果 QQ 真的不能捕获的话我也没什么好办法了,只能说确实存在这种情况。
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    8
    @ysc3839 刚试了,不行。QQ 也是 UWP App 的一种吧,捕获不到界面,是个黑框框。和代码结果一样
    ysc3839
    ysc3839
    Apr 23, 2020 via Android
    9
    @yyb123456789 QQ 有几个版本的,难道你用的是那个功能很少的 UWP 版?
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    10
    @ysc3839 应该是较新的版本了吧官网下的,QQ9.2.3(26683) 窗口捕获可以捕获浏览器、pycharm 等的,但是 QQ 是黑框
    mywaiting
    mywaiting
    Apr 23, 2020❤️1
    11
    恶意猜测:灭了 QQProtect 再试试~
    cz5424
    cz5424
    Apr 23, 2020 via iPhone
    12
    权限问题?
    CheekiBreeki
    CheekiBreeki
    Apr 23, 2020 via Android
    13
    這個和遊戲反作弊有點像
    crab
    crab
    Apr 23, 2020
    14
    QQ 有保护,别针对窗口句柄截图,GetDC 整个屏幕,再按区域提取。
    ysc3839
    ysc3839
    Apr 23, 2020 via Android
    15
    @yyb123456789 不是微软商店下的就不是 UWP 版。
    ysc3839
    ysc3839
    Apr 23, 2020 via Android
    16
    @crab 这保护也太奇怪了,为啥截取整个屏幕又可以呢?
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    17
    @crab 桌面截图是可以的,但是我想即使不在最前端我也可以截图
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    18
    @mywaiting 笑屎了,protect 杀了之后,QQ 也跟着退出了
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    19
    @cz5424 不是权限问题的
    yyb123456789
    yyb123456789
    OP
    Apr 23, 2020
    20
    @ysc3839 不清楚什么是 UWP 版本,就是在桌面时截取桌面才能截到,其他方法都截不到
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1925 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 15:36 · PVG 23:36 · LAX 07:36 · JFK 10:36
    ♥ Do have faith in what you're doing.