Windows应用程序是windows窗体应用程序,就是有图形化的GUI、有Windows消息循环机制的。控制台应用程序多了一个控制台,是命令行的CUI(那个黑黑的Dos窗口)。
程序的文件头某个位置指定了该程序是IMAGE_SUBSYSTEM_WINDOWS_GUI还是IMAGE_SUBSYSTEM_WINDOWS_CUI。图形化的GUI,或
命令行的CUI。如果是CUI,那么该程序就是控制台程序,它启动的时候就会被自动分配给一个控制台(Console)。在GUI程序中,窗口不是必要的,虽然绝大部分程序都有。准确的说,控制台程序也可以创建窗口(MessageBox.Show("")就可以了)。窗口程序也可以拥有一个控制台(AllocConsoleAPI)。