|
Language: VB4/32,VB5,VB6 Expertise: Intermediate
May 19, 2001
WriteToStdOutput - Write to standard output stream
Option Explicit
Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) _
As Long
Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, _
lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, _
lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long
Private Const STD_OUTPUT_HANDLE = -11&
' write to standard output channel
'
' NOTE: this routine works only in compiled applications
Sub WriteToStdOutput(ByVal Text As String)
Dim hStdOut As Long
Dim ret As Long
Dim bytesWritten As Long
' get the handle of standard output
hStdOut = GetStdHandle(STD_OUTPUT_HANDLE)
' write to standard output
ret = WriteFile(hStdOut, ByVal Text, Len(Text), bytesWritten, ByVal 0&)
' deal with errors
If ret = 0 Then
Err.Raise 1001, , "Unable to write to standard output"
ElseIf bytesWritten < Len(Text) Then
Err.Raise 1002, , "Incomplete write operation"
End If
End Sub
Francesco Balena
|