Jump to content
  • Advertisement
Sign in to follow this  
Mantear

C++ Win32: spawning a second console window

This topic is 3512 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Greetings! I have a Win32 console application under VS2008 in C++. I have two threads running. One thread prints the status of the program, the other prints a series of menus and lets the user enter in menu selections. I would like to spawn a second console window so I can seperate the printing of the two threads. I don't know enough Win32 to even know what to google for, so a point in the right direction would be greatly appreciated. Thanks!

Share this post


Link to post
Share on other sites
Advertisement
The short answer is that you can't: only a single console can be attached to any given process.

The long answer is that you can fake it by spawning one or more additional processes and feeding data to those processes. One way to do that is to use CreateProcess() to create a single additional process and redirect pipes to child process see this article for information on how to do that. Alternately, you can create two extra console processes and use AttachConsole() and FreeConsole() to connect to and detach from the child processes.

Share this post


Link to post
Share on other sites
After searching around for a while looking at CreateProcess() and AttachConsole(), I don't think this is the direction I want to take. I'm guessing it's going to be a lot easier to create a simple dialog box with a text box from the consol app then try to get two consoles on the screen.

Share this post


Link to post
Share on other sites
Wouldn't it be easier to simply label the output from either thread with an identifier? Like this:

T1: ...output...
T1: ...output...
T1: ...output...
T2: ...output...
T1: ...output...
T2: ...output...
...

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!