Actually the difference between a native Windows application and a native Console application is the subsystem which is used when linking the application.
/SUBSYSTEM:Windows specifies a GUI application which does not require a console because it creates its own Windows.
/SUBSYSTEM:CONSOLE specifies a character based application for which the OS will create a console.
You can get more detail here: