Stdin是一个程序获得输入的地方,在缺省的情况下即为键盘。Stdout是一个程序发送输出的地方,在缺省情况下为显示器。绝大部分这些流操作的功能都可以根据程序的需要改变其输入/输出方向,例如,程序可以将输出发送到一个文件而不是显示器。
对于stdin和stdout,通常有两种很常用的用法。其中一种方法是使用能够运行批文件或者命令交互方式的非窗体vb程序。通过使用更改方向的stdout,一个程序的输出可以转移到一个文件而不是显示在命令行。另一种方法是使用带有通用网关接口(CGI)的网络程序。一个CGI程序可以使用stdin和stdout进行操作。虽然这一方法不是最新也不是最强大,但在很多站点还是得到广泛地应用。
使用这些流需要程序使用API函数GetStdHandle获得流的句柄。这一函数的声明如下:
Public Declare Function GetStdHandle Lib
"kernel32" (ByValnStdHandle As Long)
As Long
传递变量-11&以获得stdout的句柄,传递变量-10&获得stdin的句柄。为了从stdin中读取数据,可以使用这一API函数:
Private Declare Function ReadFile Lib "kernel32"
_
(ByValhFile As Long, ByValIpBufferAs Any, _
ByValnNumberOfBytesToRead As Long, _
IpNumberOfBytesRead As Long, _
ByValIpOverlapped As Any) As Long
其中变量参数为: