Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
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
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date