使用Python Subprocess和autoit获取实时输出

时间:2016-08-01 20:21:57

标签: python autoit

我正试图从我的python脚本接近进程。 我试图得到一个我只能从autoit获得的值,我希望它来自特定的过程

process2 = subprocess.Popen([dpa_path], stdin = subprocess.PIPE,stdout = subprocess.PIPE)

#I tried some ways, and none of them worked. examples:
process2.stdout.read(int(process2.stdin.write(str(Auto.ControlCommand("", "", "TBitBtn2" ,"IsVisible", "")))

process2.stdout.read(Auto.ControlCommand("", "", "TBitBtn2" ,"IsVisible", ""))

for autoit我正在使用

from win32com.client import Dispatch
Auto = Dispatch("AutoItX3.Control") 

以及我正在使用的流程

import subprocess

如何获取从Auto.ControlCommand重新调整的值?

1 个答案:

答案 0 :(得分:0)

首先,AFAIK没有直接获取返回值的直接方法。根据您需要对返回值执行的操作,您可以从一些选项中进行选择。

  1. 从SciTE-Lite编辑器(与AutoIt捆绑在一起)运行AutoIt脚本。转到工具 - >走。这样,您打印的任何内容都将打印在SciTE的内部控制台中。使用ConsoleWrite("string")
  2. 像这样弹出一个MsgBox:
  3. AutoIt MsgBox

    有关如何使用MsgBox的更多详细信息,请参阅AutoIt doc:https://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm

    如果这可以解决您的问题,请告诉我。