win32应用程序,Windows窗体应用程序和控制台应用程序有什么区别?

我想知道什么是Windows窗体应用程序,win32application和控制台之间的区别,我知道窗口窗体应用程序和win32应用程序都是GUI工具,但我想知道什么时候使用其中一个,我可以转换控制台应用程序到Windows窗体应用

Solutions Collecting From Web of "win32应用程序,Windows窗体应用程序和控制台应用程序有什么区别?"

Windows窗体指的是一个.NET应用程序。 它不是直接基于本地Windows API,而是基于.NET基础结构。 其中包括一台虚拟机。

Win32通常指的是32位Windows API。 但是, _WIN32宏定义为32位和64位编程。 作为Visual Studio项目类型,它包括GUI和控制台子系统API级别的程序。

Windows子系统是可执行文件头中的一个小整数值,告诉Windows该程序需要什么类型的服务。 这个值可以通过例如微软的dumpbin程序来检查,例如dumpbin c:\windows\notepad.exe /headers | find "ubs" dumpbin c:\windows\notepad.exe /headers | find "ubs" 。 在Windows 9x中,通过文件预览功能可以使用dumpbin输出,但是该功能已停用。

Windows中的每个进程都可以与一个,最多一个控制台窗口关联。

GUI子系统意味着Windows 不会尝试为每个实例提供关联的控制台窗口。 该过程可以创建一个控制台窗口本身。 通常这个子系统用于具有图形用户界面(因此,“GUI”)的普通程序,并且大多数连接器被指定为“窗口”。

控制台子系统意味着Windows将尝试为每个实例提供关联的控制台窗口,如有必要,创建一个新窗口。

注意

  • 可以构建与控制台或GUI子系统相同的源代码。 这非常容易。 只需更改子系统规格。

  • GUI子系统可执行文件具有标准流,就像控制台子系统可执行文件一样。

  • 控制台子系统可执行文件可以呈现图形用户界面,就像GUI一样。

另请注意

  • 微软的工具在默认情况下不会接受GUI子系统构建的标准C ++ main 。 但是,这种不合格行为很容易解决。 只需在链接器选项中指定/entry:mainCRTStartup

GNU工具没有这样的问题,就是g ++。

  1. Windows窗体应用程序是使用图形编程接口框架(如.NET,DELPHI或MFC)而不是直接调用win32 API的应用程序。
  2. 另一方面, win32应用程序通常直接处理Windows API,从下往上创建应用程序。
  3. 控制台应用程序没有任何图形界面。 只有命令行窗口用于数据输入和结果输出。

一个“Windows窗体应用程序”是一个GUI .NET应用程序。

一个“win32应用程序”是一个本地的Windows GUI应用程序。

“控制台应用程序”是没有GUI的本地应用程序。

我真的不明白你的意思是把一种应用“转换”为另一种。 但。 如果您正在讨论使用一些IDE并将项目转换为另一个:是的,这是可能的。 主要区别在于您将应用程序链接到的.DLL文件。 例如,您可以配置打开为“控制台”的项目,以表现为“win32”。 这并不容易,但仍然有可能。 如果您想知道您安装的给定现有应用程序是否可以转换,请输入Nos:NO。