stdout -- Why is it so hard?
So I am trying to pass a value back to stdout after executing a VB application
with command switches from command line. Although it appears to get a valid
handle, nothing is returned to the shell session.
Here is what I am doing.....
Option Explicit
Public Const STD_OUTPUT_HANDLE = -11&
Public Declare Function w32_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
Public Function stdout()
Dim sWriteBuffer As String
Dim lBytesWritten As Long
Dim hStdOut As Long
'Send something to stdout
sWriteBuffer = "This really sucks!" & vbCrLf
hStdOut = w32_stdout()
WriteFile hStdOut, sWriteBuffer, Len(sWriteBuffer) + 1, lBytesWritten
End Function
Any suggestions on how to return a value to the command line via stdout or
another method? I hate to say it but in C this is cake. Why does it have
to be so hard in VB.
Thanks!