我试图通过eac3to.exe的名称为CLI程序设计一个前端GUI。我看到的问题是,该程序将它的所有输出发送到cmd窗口。这给了我无尽的麻烦,因为我需要在GUI窗口中获得大量输出。这听起来很容易,但我开始想知道我是否找到了AutoIt的限制之一?AutoIt为外部CLI程序编写脚本 - eac3to.exe
我可以使用Run()函数与Windows内部命令,如Dir,然后使用AutoIt StdoutRead()
函数获取输出到一个变量,但我不能从外部程序获得输出,如eac3to.exe
- 我似乎无法工作!仅用于测试目的,我甚至不需要将输出传送到GUI窗口:只需使用ConsoleWrite()
进行打印就足够了,因为这证明我能够将其读入变量。所以在这个阶段,我需要做的就是 - 将通过外部CLI程序输出到cmd窗口的文本(通常约10行)获取到变量中。一旦我可以做到这一点,其余的将会更容易。这是我一直什么努力,但它永远不会奏效:
Global $iPID = Run("C:\VIDEO_EDITING\eac3to\eac3to.exe","", @SW_SHOW)
Global $ScreenOutput = StdoutRead($iPID)
ConsoleWrite($ScreenOutput & @CRLF)
运行此脚本所有我从consolWrite()
得到的是一个空行之后 - 不,是因为运行eac3to.exe
的结果输出的文本数据(运行没有任何参数的eac3to只是列出了与所有命令行选项相关的帮助文本的屏幕),这就是我想要进入变量的内容,以便稍后在程序中使用它。
[相关](https://stackoverflow.com/a/27663324/4157124)。 – user4157124