我开发了一个应用程序,最初是作为 Mac 应用程序开发的,使用 Carbon/Cocoa 的 API 来完成我的任务。 (应用程序的目标是在鼠标移动/其他击键后将“击键”发送到应用程序。我为此使用 Accessibility API)。
但是现在,我想添加脚本支持,这样就可以有条件击键。如:按“Y”5次后,我想按“B”按钮。
在 OSX 中,Python 应用程序不可能做这样的事情,而且我找不到任何允许我这样做的库。所以我想我应该把这个应用程序做成两部分。首先:我将用 Cocoa/Carbon 编写一个具有基本功能的应用程序:SendKeyToApp(pid,key) 和 WaitForMovement()。
Python 应用程序将使用这些方法调用与该应用程序进行通信。这里的问题是:我如何在这两个应用程序之间进行通信?我会使用 HTTP 服务器、套接字服务器、某种 subprocess.Popen() 黑客吗?坦白说我不知道。
有人有任何想法来完成这样的任务吗?
PyObjC 也许就是您正在寻找的:
PyObjC(发音为pie-obz-see)是使用Python 编写Cocoa 应用程序的关键部分。它使 Python 对象能够像 Python 对象一样向 Objective-C 对象发送消息,同样也有助于 Objective-C 对象像兄弟一样向 Python 对象发送消息。您可以使用 PyObjC 在 python 应用程序和 cocoa 应用程序之间编写一座桥梁。
,您可能还想看看第三方模块 py-applescript。