代码之家  ›  专栏  ›  技术社区  ›  MikeRand

使用python从GUI程序发送/接收文本

  •  1
  • MikeRand  · 技术社区  · 14 年前

    我正在使用pywin32的win32process.createprocess启动一个GUI程序,该程序具有我希望在Python类中使用的功能。

    我想用这个GUI从Python中执行以下操作:

    • 将文本发送到GUI中的各个窗口(如果要相信winspy++的话,每次创建进程时似乎都会更改标识符)。
    • 单击GUI上的按钮以配置和启动计算,以及
    • 从GUI检索计算输出(允许在GUI文本输出或保存文件输出)。

    快速问题:我应该研究什么样的python/pywin32功能来完成这些任务?我不是在寻找实际的代码,而是我应该研究的领域,以了解如何自己做这些事情。我已经浏览了大部分在win32上学习python、编程python和python编程的知识,如果有答案,我就不知道答案是什么。

    谢谢,

    迈克

    1 回复  |  直到 14 年前
        1
  •  1
  •   cji    14 年前

    您要做的是复杂的,我不确定您是否可以用Python完成。我只能投一些球,但不能保证方向正确。

    至于向各个窗口发送文本-有 SendMessage 函数-您可能需要将数据作为击键消息发送到所需窗口。至于 hWnd 论证说 SendMessage Takes-您应该可以通过调用 EnumChildWindows 功能或类似。

    检索输出更加困难-我认为您需要替换 WndProc 目标窗口,其中一个窗口将在打印时为您保存输出。你可以代替 窗口过程 具有 SetWindowLong (可能)。

    应该 可以这样做,但就我个人而言,我会做任何事情来避免编码类似的东西。

    还有一件事——这不完全是与Python相关的问题。尝试找到与Win32 API类似的C/C++代码,并将其转换为Python。搜索winapi资源。如果你够绝望的话,那就是…