为什么一个控制台应用程序与一个GUI应用程序在WINDOWS中显示的图标不一样呢?所以我想是一定有办法判断的! Windows 窗体和控制台应用程序之间有什么区别?答案很简单。实际上唯一的区别就是控制台应用程序将输出结果发送到控制台窗口,而 Windows 窗体应用程序则不然。当然这只是在默认情况下。至于 Windows 窗体应用程序为什么不能有控制台窗口,则没有解释。这是MSDN上的解释,我个人认为,所有的console程序只有main()函数,而没有winmain函数的,而GUI程序正相反,所以我认为从这点上可以区别出来!
也可以读起始字节,每个win32程序都包含“this program can not run in dos mode” 或者 “this program must be run under win32”,起始出是一个int 3中断入口,如果在dos运行,则调用int 10显示出上述字符,呵呵。如果你对pe头感兴趣,可以和我联系!
不见得, 32bit的console就没有“this program can not run in dos mode” !
个人猜想
第一个,是搜索EXE资源,如果用VC写的程序,里面有Dialog的,用Delphi/CB写的,有Form的;其它的就不知道了。另外一个,可以查看Exe的导入函数,使用窗口的应该用到CreateWindow(Ex)等GDI Windows函数。
Windows 窗体和控制台应用程序之间有什么区别?答案很简单。实际上唯一的区别就是控制台应用程序将输出结果发送到控制台窗口,而 Windows 窗体应用程序则不然。当然这只是在默认情况下。至于 Windows 窗体应用程序为什么不能有控制台窗口,则没有解释。这是MSDN上的解释,我个人认为,所有的console程序只有main()函数,而没有winmain函数的,而GUI程序正相反,所以我认为从这点上可以区别出来!
择“属性”,控制台程序和GUI程序的快捷方式的“属性”是不一样的。控制
台程序比GUI程序多好几个页面。