Function Reference

首页  后退  前进

ConsoleRead

 

读 AutoIt 脚本进程中的 STDIN.

 

 

ConsoleRead ( [peek = False [, binary = False]] )

参数

peek

[可选] 如果为 true, 则函数不删除从流读取的字符.

binary

[可选] 如果为 true, 则读流的二进制数据而不是文本(默认读文本).

返回值

成功:

返回读取的数据. @extended 包含读取的字节数.

失败:

设置 @error 为非 0 值, 表示已到达 EOF(文件尾), STDIN 不能连接到进程或者其它错误.

备注

ConsoleRead 读取控制台 autoit 脚本进程的标准输入流, 通常用控制台程序读取父进程的输入.

ConsoleRead 不会阻塞,它会立即返回. 为了得到所有数据, 它必须在循环中调用.

取数不会删除缓冲区中的数据, 相反它能正常返回当前数据.

默认返回文本格式数据. 如果使用二进制选项, 则返回二进制格式数据.

相关

ConsoleWrite, ConsoleWriteError, Run

函数示例

#include <MsgBoxConstants.au3>
#cs
    Compile this script to "ConsoleRead.exe".
    Open a command prompt to the directory where ConsoleRead.exe resides.
    Type the following on the command line:
    echo Hello! | ConsoleRead.exe
    When invoked in a console window, the above command echos the text "Hello!"
    but instead of displaying it, the | tells the console to pipe it to the STDIN stream
    of the ConsoleRead.exe process.
#ce
Example()
Func Example()
    If Not @Compiled Then
        MsgBox($MB_SYSTEMMODAL, "", "This script must be compiled in order to run the example.")
        Exit
    EndIf
    Local $sOutput
    While True
        $sOutput &= ConsoleRead()
        If @error Then ExitLoop
        Sleep(25)
    WEnd
    MsgBox($MB_SYSTEMMODAL, "", "Received: " & @CRLF & @CRLF & $sOutput)
EndFunc   ;==>Example

----------------------------------------