【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 阅读 38 次 更新于 2025-09-10 09:46:30 我来答关注问题0
  • 在Python环境中,利用python-pptx库可以轻松实现获取WPS中PPT的文件总页数。然而,要获取当前播放进度则需要更为精细的操作。首先,尝试直接编程方法并未找到相关教程,这涉及到对PPT播放状态的底层操作,而内存地址查找工具Cheat Engine在此发挥了关键作用。启动Cheat Engine,首先确保WPS演示的幻灯片放映进程在...

  •  太平洋科技 查看变量内存地址的python内置函数

    查看python内置函数的方法:1、打开PythonIDLE编辑器;2、输入"dir(__builtins__)"命令,按下回车键(Enter)得到Python全部内置变量和函数。打开PythonIDLE,我用的是Python3。7,界面有个性定制。你的版本不同,界面有差异,但是操作方法应该是一样的。输入dir(__builtins__)。可以看到,返回的结果是...

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

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

  •  翡希信息咨询 python内存管理机制

    内存池机制是Python内存管理的另一个重要组成部分。它负责高效地分配和释放小块内存,以减少内存碎片和分配/释放内存的开销。内存分配:当Python需要分配内存时,它会首先尝试从内存池中获取。内存池中的内存块是预先分配好的,大小固定。如果内存池中的内存块无法满足需求,Python会向操作系统请求更大的内存...

  •  文暄生活科普 数据治理 | 不丢数据的秘籍:了解Python的内存管理机制

    Python 中的 id() 方法用于获取变量对象的内存地址。语法 A is B 用于判断两个引用所指的对象是否相同,若相同,返回 True,否则返回 False。1.浅复制 当浅复制一个变量时,内存不会为复制的变量分配空间,而是会将复制的变量指向被复制变量所指向的内存空间,说简单些,就是为数据起了个别名。当...

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

Python相关话题

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