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

时间:2010-08-02 11:28:49

标签: python windows pywin32

我正在使用PyWin32的win32process.CreateProcess来启动一个GUI程序,该程序具有我想在Python类中使用的功能。

我希望使用此GUI从Python执行以下操作:

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

快速提问:我应该研究哪些Python / PyWin32功能来完成这些任务?我不是在寻找实际的代码,只是我应该研究的领域,以了解如何自己做这些事情。我已经在Win32上扫描了大部分的学习Python,编程Python和Python编程,如果它存在的话就无法识别答案。

谢谢,

麦克

1 个答案:

答案 0 :(得分:1)

您想要做的事情很复杂,我不确定您是否可以通过Python实现这一目标。我只能发布一些指示,但不能保证它是正确的方向。

至于向单个窗口发送文本 - 有SendMessage功能 - 您可能需要将数据作为击键消息发送到所需窗口。至于hWnd采用的SendMessage参数 - 您应该可以通过调用EnumChildWindows函数或类似函数来获取它。

检索输出更难 - 我认为您需要将目标窗口的WndProc替换为在打印时为您保存输出的目标窗口。您可以将WndProc替换为SetWindowLong(可能)。

还有一件事 - 它不是与python相关的问题。尝试找到与Win32API类似的C / C ++代码并尝试将其转换为Python。搜索SO以获取WinAPI资源。如果你非常绝望,那就是......