【Python】基于内存地址获取WPS中ppt的当前播放进度

在Python环境中,利用python-pptx库可以轻松实现获取WPS中PPT的文件总页数。然而,要获取当前播放进度则需要更为精细的操作。首先,尝试直接编程方法并未找到相关教程,这涉及到对PPT播放状态的底层操作,而内存地址查找工具Cheat Engine在此发挥了关键作用。启动Cheat Engine,首先确保WPS演示的幻灯片放映进程在...
【Python】基于内存地址获取WPS中ppt的当前播放进度
在Python环境中,利用python-pptx库可以轻松实现获取WPS中PPT的文件总页数。然而,要获取当前播放进度则需要更为精细的操作。首先,尝试直接编程方法并未找到相关教程,这涉及到对PPT播放状态的底层操作,而内存地址查找工具Cheat Engine在此发挥了关键作用。

启动Cheat Engine,首先确保WPS演示的幻灯片放映进程在运行。当播放到某一页时,通过输入对应的页码进行扫描,重复此过程直到结果栏中的数据稳定。此时,找到一个与PPT播放进度相关的mov命令,注意保持PPT的播放状态。

通过分析弹出窗口中的结果,发现临时变量的地址通常在ebx+20处,这个地址可能因人而异,需要根据具体情况进行调整。关闭窗口,选择Hex模式,复制并查找EBX地址附近的地址,继续查找mov命令。重复此过程,直到找到稳定的静态地址,即不会随着软件启动而变化的地址。

找到固定地址后,通过递归公式[[[player.dll + BA6EC] + 28] + 1C] + 20(这里的[]表示地址的值),结合pymem库,我们可以计算出存储当前播放进度的临时变量的准确位置。WPS的PPT可能有两个临时变量,一个存储实际进度,另一个始终为0,因此可以取这两个地址中较大的值作为当前播放索引。

至此,通过内存地址获取到的值就是当前的播放进度,结合总页数,就完成了对WPS PPT播放进度的监控。最后,将这些操作封装成函数,如使用log_utils进行日志记录,即可实现所需功能。这个方法在CSDN博客中也有相关案例可供参考。2024-09-13
mengvlog 阅读 10 次 更新于 2025-07-20 22:48:40 我来答关注问题0
  • 在Python环境中,利用python-pptx库可以轻松实现获取WPS中PPT的文件总页数。然而,要获取当前播放进度则需要更为精细的操作。首先,尝试直接编程方法并未找到相关教程,这涉及到对PPT播放状态的底层操作,而内存地址查找工具Cheat Engine在此发挥了关键作用。启动Cheat Engine,首先确保WPS演示的幻灯片放映进程在...

  • 1、Python对象2、python 内存占用分析工具3、使用 sys.getsizeof 查看 python 对象的内存占用4、如何估算一个Python对象的内存占用5、python创建类占用内存Python对象众所周知,Python是一门面向对象的语言,在Python无论是数值、字符串、函数亦或是类型、类,都是对象。对象是在 堆 上分配的结构,我们定...

  • anonymous 为什么说Python采用的是基于值的内存管理模式

    在运行时确定的。这也是为什么我们称Python语言为动态类型的原因(这里我们把动态类型可以简单的归结为对变量内存地址的分配是在运行时自动判断变量 类型并对变量进行赋值)。二、引用计数:Python采用了类似Windows内核对象一样的方式来对内存进行管理。每一个对象,都维护这一个对指向该对对象的引用的计数。

  •  翡希信息咨询 Python实现WebSocket通讯与心跳控制详解

    三、客户端实现 核心功能:客户端负责连接到服务器,发送和接收消息,以及回应心跳信号。 心跳检测:客户端代码中的心跳检测通常采用简单策略,如基于内存地址的客户端ID字典。但在实际应用中,可能需要更复杂的数据结构来跟踪客户端状态,如数据库或分布式缓存。 心跳消息:心跳消息通常为字符串”heart...

  •  深空见闻 用python如何准确找到游戏中元素坐标

    用Python准确找到游戏中元素坐标的方法主要包括以下几种:使用游戏提供的API或内存访问接口:简介:一些游戏可能提供了官方的API接口,允许开发者或玩家通过编程方式获取游戏内元素的信息,包括坐标。优点:这种方法通常比较可靠,且由游戏开发者官方支持。注意事项:需要游戏开发者的支持和相关文档,且可能受限于...

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部