我希望能够自动化工作中的一些任务。其中之一是将 Power Point 文件合并并转换为 PDF。我是个新手(我刚刚读完 Magus Heitland 的 Beginning Python),所以我不太确定我具体要问什么。
在 Windows 上,可以选择多个文件,右键单击,然后选择合并为 adobe PDF。我已经弄清楚了我想要转换的文件的“分组”(我遍历目录并根据文件名称将文件嵌套在列表中),但我不确定如何进行下一步(右键单击/合并命令)。
通过谷歌搜索,我找到了 win32api、pywinauto 和 ctypes 等内容。但当我阅读他们所做的事情时,我的新手让我不知道哪个是我需要的工具。
有人可以建议一些好的资源或技巧吗?
这个问题没有简单的答案。在 Windows 中,上下文菜单条目是由上下文菜单 shell 扩展创建的,上下文菜单 shell 扩展是一种 shell 扩展,是在 Windows 资源管理器中注册的 COM 组件。要调用一组文件上的任意上下文菜单条目,必须执行以下操作:
- 获得一个IShell文件夹 http://msdn.microsoft.com/en-us/library/bb775075%28VS.85%29.aspx包含文件的 shell 文件夹的界面。
- Use IShellFolder::GetUIObjectOf http://msdn.microsoft.com/en-us/library/bb775073%28v=VS.85%29.aspx获取该 shell 文件夹的上下文菜单处理程序对象。向其传递一个 ITEMIDLIST,其中包含所选文件的列表,并且
riid
= IContextMenu
.
- Call IContextMenu::InvokeCommand http://msdn.microsoft.com/en-us/library/bb776096%28v=VS.85%29.aspx对文件组执行所需的命令。
所有这些都可以在Python中实现(通过ctypes
or win32com
),但我认为最好从直接支持 COM 的语言(例如 C++)开始,并在它工作后转换为 Python...或者使用不同的方法。
EDIT如果您完全控制执行环境,那么模拟用户输入(键盘和鼠标)可能就足够了。用Python 做起来要容易得多。您只需要一个系统函数:发送输入 http://msdn.microsoft.com/en-us/library/ms646310%28VS.85%29.aspx。快速谷歌搜索揭示了通过以下方式使用 SendInput 的示例ctypes
here http://kvance.livejournal.com/985732.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)