Reputation: 31848
I'm writing a simple console app in C#, .NET 2.0. It starts new threads using a threading timer, while it interprets commands on the main thread.
I currently take three commands: P - Pause C - Continue Q - Quit
This functionality works quite well, but unfortunately when I type P, C, or Q (or any other character for that matter), the character goes to STDOUT. Is there a way I can stop this programatically? Also it'd be useful to know if I could disable and re-enable STDIN -> STDOUT.
Thanks in advance.
Upvotes: 2
Views: 3425
Reputation: 39261
Sounds like you are using
Console.ReadKey();
Which clearly states in the documentation that it prints to the screen and if you don't want to output to the screen you should use the overloaded version
Console.ReadKey(true);
Which does not output.
Upvotes: 9