Click here for larger image
Environment: VC6 Win2K/NT/98
This sample describes the difference between CONSOLE and GUI applications with 20 lines of code.
There are 2 small projects in this sample. The first project shows how to create a console in WinMain(). First of all, we need to allocate a console with AllocConsole(); secondly, we in turn retrieve the operating system handle (GetStdHandle), run-time handle (_open_osfhandle), stream (_fdopen) and standard stream (stdout); finally, we can call functions like printf() and scanf().
The second project demonstrates how to create a window in main(). I created an edit box in a separate thread, so that you can control this window from the console. I retrieved the module handle through GetModuleHandle(), and then I called CreateWindow with the predefined class name EDIT.
As you can see, there is not much essential difference between console and GUI applications, even though VC requires us to indicate the type of the application when you create a project.
DownloadsDownload demo project - 27 Kb
Download source - 4 Kb