nodisk 发表于 2008-10-13 12:14:11

读取不到 run 中的 标准_i/o_标志??

我想通过 run 执行CMD命令,并要读取到此命令在CMD中输出的结果,
帮我看一下以下的代码,是哪里出错了?

#include <Constants.au3>
$sCommand="ipconfig.exe /all"
$foo=Run($sCommand, @SystemDir, @SW_HIDE,$STDOUT_CHILD)
;MsgBox(0,"0",@error);这个@error =0,执行正常

    $line = StdoutRead($foo)               ;读取输出的字符串
   ;MsgBox(0,"1",@error)                      ;这个@error =2,执行异常
    MsgBox(0, "STDOUT read:", $line);这个$line=空

[ 本帖最后由 nodisk 于 2008-11-4 16:00 编辑 ]

liongodmien 发表于 2008-10-13 13:48:04

帮助里已经明确说明,不能用RunWait!

nodisk 发表于 2008-11-4 15:59:36

我用了别的方法解决了.

在外部程序里定义了退出的代码0,1,2 等,再通过 runwait 得到此退出代码的值.
通过这样就能知道程序执行后的结果了,不用去得到程序向CMD输出的字符串.

liongodmien 发表于 2008-11-4 20:21:58


#include <Constants.au3>
$foo=Run("ipconfig.exe /all", @SystemDir, @SW_HIDE,$STDOUT_CHILD)
ProcessWaitClose($foo)
MsgBox(0,"0",StdoutRead($foo))
页: [1]
查看完整版本: 读取不到 run 中的 标准_i/o_标志??