Win32控制台应用程序和Winows窗体应用程序区别?

2024-11-07 23:30:33
推荐回答(1个)
回答(1):

Win32控制台的入口函数叫mainCRTStartup,链接了这个函数,会自动创建控制台窗口。
其他类型Win32程序会链接WinMainCRTStartup,不会创建控制台窗口。
(分别对应C语言中main WinMain)

无论你选择哪个入口函数,都和程序是否创建窗口无关。
你可以在控制台程序下打开窗口,也可以在其他程序中打开窗口。

你所说的程序到底是不是控制台鸽鸽不知道,因为即使你选用了控制台程序,也能通过相关的设置使其黑窗口不显示,而只显示正常窗口。著名界面库QT就是main入口的复杂窗口界面,它不会显示控制台。而简单的跨平台opengl窗口系统glut也是main入口,它就会同时显示控制台与正常窗口。最后,即使入口是winmain,你也能调处控制台窗口。可见,那个鸟控制台是个历史遗留物,在windows程序设计中,它和正常程序区别不大。

全屏运行的,非全屏运行的游戏中,99.9%的不是在控制台上运行的(0.1%的不在窗口中运行的游戏是90年代初期的游戏),它是在独占模式下由某个窗口显示的,独占模式不会与窗口的GDI系统打交道。