I think that Windows might allow you to access STDIN only from the main thread.
This is at least the normal convention in Windows GUI programming.
I am not sure if this is the only issue in your code, but you may consider to change your code accordingly and check if it will work then.