445544南 2021-05-21 16:43 采纳率: 50%
浏览 426
已采纳

请教如何判断屏幕发生变化

如题,希望是毫秒级的,请私信,解决问题另有感谢。

  • 写回答

5条回答 默认 最新

  • 你采不起的野花 2021-05-22 16:47
    关注

    首先明确你的需求是毫秒级,所以截屏再隔几秒再截屏比较差异的方式进行判断肯定是不符合你需求的。

    所以检测屏幕输出内存是否变化的方式肯定达不到你要求,按当今屏幕1920*1080来看,其缓存是1920 * 1080 * 32 / 8 约8M。

    在毫秒级下进行两次截取和对比,我认为是不可能完成的,就算能,我认为其CPU计算也夸张的离谱。

    那么只能考虑hook api 或者 只检测局部区域 这两种方法,理想的情况是知道所有触发修改屏幕的情况,再一个一个hook。

    我相信我的答案会快得多。

     

    反向思路借鉴:https://blog.csdn.net/dymx101/article/details/5571744

    ====

    刚看了楼主的博客,按键精灵相关的话题居多,那就不是涉及底层开发,那就用简单的方式,就判断局部的屏幕是否发生变化就行了,这个快的。100*100就差不多毫秒。还有就是python lua本来就慢,想要更快可以用c++或者c开发程序。

     

    ===

    记得给好评

    ===

    现在又想到了一种方法,修改屏幕电路,物理方式检测,只要屏幕被修改了就返回一个信号量,这样也可以达到毫秒级,不过只是猜想,本人不是硬件工程师,得问问专业的老师了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程