python - 将击键发送到 PowerPoint 窗口
问题描述
我正在尝试将击键发送到 Python 中的 PowerPoint 幻灯片,以便自动推进幻灯片。我想发送VK_RIGHT
和VK_LEFT
消息。
我win32gui.FindWindow
用来通过标题查找 Powerpoint 窗口,然后尝试使用以下命令向窗口句柄发送消息:
win32api.SendMessage(windowhandle, win32con.WM_KEYDOWN, win32con.VK_RIGHT, 0))
虽然这适用于记事本等其他应用程序,但它似乎不适用于主窗口。对于记事本,它实际上在其子窗口上工作,所以我尝试过使用 Powerpoint 子窗口:
win32gui.EnumChildWindows
我循环它们以向每个子窗口发送相同的消息,但它似乎也不起作用。
的始终为 0(在记事本中为 1)LRESULT
。win32api.SendMessage
知道为什么会这样吗?
解决方案
另一种(可能更好)的解决方案是使用 COM32,它恰好包含在 win32api 中。
您可以将此库用于办公参考。
打开 powerpoint 并查看下一张幻灯片的示例:
app = win32com.client.Dispatch("PowerPoint.Application")
objCOM = app.Presentations.Open(FileName="path_to_file", WithWindow=1)
objCOM.SlideShowWindow.View.Next()
资料来源:https ://medium.com/@chasekidder/controlling-powerpoint-w-python-52f6f6bf3f2d
推荐阅读
- java - 如何在真正的 Android 设备上按“主页”按钮
- spring-boot - 在 Weblogic 服务器上部署 Spring Boot 应用程序时出错
- java - Dropwizard API在码头时被阻止意外线程死亡
- c# - 在未安装 Access 的情况下使用 C# 在运行时压缩和修复 Access 数据库
- javascript - 将多个子字符串匹配到一个字符串
- pattern-matching - Logstash COMMONAPACHELOG 模式解析问题
- sql-server - 是否“使用
” 清除/重置声明的变量 - python - 单击单选按钮或更改 PyQt 中的旋转框时,组合框索引值返回默认值 0
- sql-server - 将数据从 CSV 插入 SQL server,插入问题
- python - 将命名元组有效插入熊猫数据帧