Winapi 在C++Builder XE5中创建Win32应用程序

Winapi 在C++Builder XE5中创建Win32应用程序,winapi,c++builder,c++builder-xe5,Winapi,C++builder,C++builder Xe5,在旧版本的Borland C++Builder中,您使用控制台向导启动Win32程序。现在已经从XE5消失了!如何启动???您要查找的向导位于: 文件>新建>其他…>C++Builder项目>控制台应用程序 但是,向导对话框在XE2之后已中断,在撰写本文时,在最新版本XE7中仍未修复 该对话框有一个下拉列表,用于选择目标框架。如果将其设置为“无”,则在链接时可能会出现未解决的外部错误。因此,您可能必须选择可视化组件库或FireMonkey 该对话框有一个控制台应用程序复选框,默认情况下选中该复选

在旧版本的Borland C++Builder中,您使用控制台向导启动Win32程序。现在已经从XE5消失了!如何启动???

您要查找的向导位于:

文件>新建>其他…>C++Builder项目>控制台应用程序

但是,向导对话框在XE2之后已中断,在撰写本文时,在最新版本XE7中仍未修复

该对话框有一个下拉列表,用于选择目标框架。如果将其设置为“无”,则在链接时可能会出现未解决的外部错误。因此,您可能必须选择可视化组件库或FireMonkey

该对话框有一个控制台应用程序复选框,默认情况下选中该复选框,并从用户交互中禁用该复选框

因此,您只能创建使用主入口点的控制台应用程序,而不能创建使用WinMain入口点的Win32应用程序。幸运的是,注册表中有一个解决方法:

HKEY_CURRENT_USER\Software\Embarcadero\BDS\<version>\Repository\New Console Application

(REG_SZ) "ConsoleApp" = "True" or "False"
将ConsoleApp设置为True或False以指定复选框的默认状态。通过将其设置为False,您可以创建使用WinMain入口点的控制台应用程序

或者,使用WinMain入口点创建Win32应用程序的另一种方法是创建一个新的VCL Forms应用程序,从项目中删除默认生成的MainForm,并从默认生成的WinMain中删除您不需要的任何代码

Embarcadero知道我私下和他们讨论过的bug,他们确认对话框的代码中有一些奇怪的地方导致了这个问题。我没有看到他们的任何QualityCentral门票,所以我现在提交了一张QualityPortal门票


希望它们最终能得到修复。

Er,文件|新的……另一种方法似乎简单得多。如果某个东西没有控制台窗口,它就不是真正的控制台应用程序,另一种方法是我通常的做法,但代价是必须链接到VCL,这并不总是可取的。在过去,能够创建没有依赖关系的普通Win32应用程序非常有用。