Console app w/ multiple threads and console input.

Hi all,

i'm writing a console app that has multiple threads that are kicked off at the start.

In one of the threads i need to monitor the console for input from the user (terminated by an enter or return), but i can't have the other threads blocked.

I also need to have the input from the user available.

I've been looking at: http://www.developer.com/net/net/article.php/11087_2193301_1
and i can hook the keyboard, and detect when a certain key is pressed, but i can't seem to get the input the user entered.

can someone guide me in the right direction, code would be preferred.

TIA!

J
LVL 1
sgaggerjAsked:
Who is Participating?
 
Slow_moConnect With a Mentor Commented:
You can monitor user input from the main thread.
In attached code thread that beeps 10 times is started after you press Enter. During that time you can enter something and entered text will be written back to console.
Imports System.Threading
 
Module Module1
 
  Sub Main()
        Console.WriteLine("Press Enter to start")
        Console.ReadLine()
 
        Dim t As New Thread(AddressOf Beep10times)
 
        t.Start()
 
        'loop until t exits
        Do
            Console.WriteLine("Enter something and press Enter")
            Dim a As String = Console.ReadLine()
            Console.WriteLine("You entered " & a)
        Loop While t.IsAlive
 
        Console.WriteLine("Press Enter to exit")
        Console.ReadLine()
    End Sub
 
    Sub Beep10times()
        Dim i As Byte
        For i = 1 To 10
            Beep()
            Thread.CurrentThread.Sleep(1000)
        Next
    End Sub
 
End Module

Open in new window

0
 
sgaggerjAuthor Commented:
Perfect! thanks!
0
All Courses

From novice to tech pro — start learning today.