基 础 函 数 参 考


ConsoleRead

读 AutoIt 脚本进程中的 STDIN.

ConsoleRead ( [取数 = false[, 二进制 = false]])

参 数

取数 [可选参数] 如果为 true, 则函数不删除从流读取的字符.
binary [可选参数] 如果为 true, 则读流的二进制数据而不是文本(默认读文本).

返 回 值

成功: 返回读取的数据. @extended 包含读取的字节数.
失败: 设置 @error 为非 0 值, 已到达 EOF(文件尾), STDIN 不能连接到进程或者其它错误.

备 注

ConsoleRead 读取控制台 autoit 脚本进程的标准输入流, 通常用控制台程序读取父进程的输入.
ConsoleRead 不会阻塞,它会立即返回. 为了得到所有数据, 它必须在循环中调用.
取数不会删除缓冲区中的数据, 相反它能正常返回当前数据.
默认返回文本格式数据. 如果使用二进制选项, 则返回二进制格式数据.

相 关 函 数

ConsoleWrite, ConsoleWriteError, Run

函 数 示 例


; 编译此脚本为 "ConsoleRead.exe".
; 打开命令提示符引导到 ConsoleRead.exe 驻留的目录.
; 键入以下命令行:
;   echo Hello! | ConsoleRead.exe
;
; 在控制台窗口中调用时, 上面的命令返回文本 "Hello!"
; 然后显示它, 符号' | '告诉控制台将它输送到 ConsoleRead.exe 进程的 STDIN 流.
If Not @Compiled Then
    MsgBox(0, "", "此脚本必须编译后才能正确显示其功能.")
    Exit -1
EndIf

Local $data
While True
    $data &= ConsoleRead()
    If @error Then ExitLoop
    Sleep(25)
WEnd
MsgBox(0, "", "接收: " & @CRLF & @CRLF & $data)

provider with jb51.net (unicode)