问题
Is it possible to create two console windows (one being the main) and the secondary being a pop-up like a message box in Windows Forms?
I only want the secondary console window to hold IDs (that will be hard coded into the application) So the user does not have to keep returning to the main menu to check available IDs
If so how would you go about it?
Many Thanks
回答1:
Yes, you can do it.
The solution is actually very simple - our process can start a new helper
child-process, so the helper process will display whatever our process sends it. We can easily implement such a solution with pipes: for each new console
(that I'll call logger), we'll open a pipe, and execute a Console-Helper
application - the role of this application is very simple, it will print everything sent through the pipe. Check out this article Multiple consoles for a single application for details (contains the source code).
In the code, it implement a console class CConsoleLogger
, then you can create multiple console windows like:
CConsoleLogger another_console;
another_console.Create("This is the first console");
another_console.printf("WOW !!! COOLL !!! another console ???");
And you will get something like:
回答2:
Take a look at http://msdn.microsoft.com/en-us/library/windows/desktop/ms682528(v=vs.85).aspx for instructions for creating a console window.
来源:https://stackoverflow.com/questions/20847474/multiple-consoles-for-a-single-application-c