【问题标题】:Communicating between Autohotkey and pythonAutohotkey 和 python 之间的通信
【发布时间】:2011-09-02 09:02:02
【问题描述】:

有没有办法将一些参数从 autohotkey 发送到 python。

使用 Autohot 键,我从记事本中读取了一些数字并将其存储在一个变量中,现在我想将此数字发送到 python 代码以进行一些计算。

我的自动热键代码是:

controlGetText, telphoneNumber, Edit1, Untitled - Notepad

我想将此telphoneNumber 发送到 python 文件。

有什么办法可以做到吗?

我需要创建一个 python 的 exe 文件然后从 autohotkey 调用吗? 例如:

RunWait,  C:\Button\button.exe telphoneNumber

或者我需要从 autohotkey 运行命令提示符命令来运行 python 程序吗?比如:

Run Cmd Python  C:\Button\button.py telphoneNumber

我是 Autohotkey 的新手,不知道哪种方法最好。

任何建议将不胜感激。

编辑:

但是我通过使用 autohotkey 中的运行命令成功发送参数,这将在命令提示符下执行 python 文件。

Run Cmd \k "Python  C:\Button\button.py %telphoneNumber%"

但仍想知道这是否是正确的解决方案,或者是否还有其他解决方案?

【问题讨论】:

  • 如果问题编辑中建议的解决方案不起作用,试试这个stackoverflow.com/a/47969817/3154274
  • 为什么要使用 Cmd?不一样:Run "Python C:\Button\button.py %telphoneNumber%" ?

标签: python autohotkey


【解决方案1】:

当 Python 脚本已经运行时,进程间通信将能够发送信息。

论坛主题:http://www.autohotkey.com/forum/topic21699.html(该帖子中有一个不错的文档链接)

您也可以使用 TCP/IP 网络通信(如下面的帖子所示),但这可能不如使用 IPC 来得顺畅。

论坛主题:http://www.autohotkey.com/forum/topic13829.html

【讨论】:

    【解决方案2】:

    你让它工作的方式是完成你想要的最简单,也可能是最好的方法。

    应用程序之间的通信可以使用比您想象的更多的方法来完成,但只要它不必是实时的,您就可以使用参数调用您的程序,因为它既简单又可靠。

    【讨论】:

      【解决方案3】:

      Python COM 服务器允许使用 AHK 直接调用 Python 函数(带参数和返回)。
      你可以这样使用它:MsgBox % pythonComServer.method(args)

      您不需要已经运行 python 脚本。
      ComObjCreate() 将实例化一个 python 实例。

      不知道pywin32是如何在后台进行进程间通信的,但是使用起来很简单。

      此处有 2 个示例:Call python function with arguments and get returned value in autohotkey

      【讨论】:

        猜你喜欢
        • 2011-08-23
        • 2017-08-13
        • 2020-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多