Option Explicit Public Const STD_OUTPUT_HANDLE = -11& Public Declare Function stdout Lib "kernel32" Alias "GetStdHandle" _ (Optional ByVal Handletype As Long = STD_OUTPUT_HANDLE) As Long Public Declare Function WriteFile Lib "kernel32" _ (ByVal hFile As Long, ByVal lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, _ lpNumberOfBytesWritten As Long, Optional ByVal lpOverlapped As Long = 0&) As Long Sub Main() Dim sWriteBuffer As String Dim lBytesWritten As Long Dim hStdOut As Long sWriteBuffer = "This should go to STDOUT" hStdOut = stdout() WriteFile hStdOut, sWriteBuffer, Len(sWriteBuffer) + 1, lBytesWritten End Sub #### C:\Program Files\Microsoft Visual Studio\VB98>stdout C:\Program Files\Microsoft Visual Studio\VB98>stdout > foo.txt C:\Program Files\Microsoft Visual Studio\VB98>type foo.txt This should go to STDOUT C:\Program Files\Microsoft Visual Studio\VB98>stdout | more This should go to STDOUT C:\Program Files\Microsoft Visual Studio\VB98>stdout | perl -pne '' This should go to STDOUT