For now, DoEvents seems to does the trick and there is no discernible slowdown... I hope. Will need to do some more tests to be positive.
Will keep your other solution in mind as well.
Also, would I assume you'd use ConsoleReadOutput to read what Console has outputted as a result of execution? ConsoleRead seems to be for a user input only.
I use this:
Code:
Private Declare Function ReadConsoleOutputCharacter Lib "kernel32" Alias "ReadConsoleOutputCharacterA" (ByVal hConsoleOutput As Long, ByVal lpCharacter As String, ByVal nLength As Long, ByVal CoordXY As Long, lpNumberOfCharsRead As Long) As Long