将Win32应用程序项目转换为控制台应用程序是否可行?

7

是否可以将创建Win32应用程序的现有Visual Studio项目文件转换为创建Win32“控制台”应用程序的项目文件?如果可以,如何操作?我已经搜索过谷歌,发现很多人做反向操作,但没有这样的。


听起来有点麻烦,有多少Windows相关的东西 - 比如表单和对话框等 - 你需要重写所有这些。就程序启动而言 - 那应该是足够简单的 - 只需从新的命令行应用程序项目中复制文件即可。哦对了,还有SUBSYSTEM开关。 - Igor Zevaka
是的,进入项目+属性,应用程序选项卡,输出类型=控制台应用程序。这将为您提供一个控制台窗口。同样。 - Hans Passant
4个回答

12

您可以在项目属性中轻松切换此设置:http://hdrlab.org.nz/articles/windows-development/changing-a-windows-app-to-a-console-app-in-visual-studio/。还有一个预处理器定义:`_WINDOWS`,应该将其更改为`_CONSOLE`,以便在调试和发布版本中都能正常运行。 - Chris Nolet

1

我不知道有没有自动化的方法。我认为你可以更改所有项目设置来进行切换,但这将是繁琐的。我相信创建一个新项目并将源文件添加到其中会更简单。


0

您没有指定您使用的 Visual Studio 版本。在具有 XML 项目定义的版本中,您可以修改 XML。甚至可能可以使用 XSLT 进行修改。在旧版本中,最好创建一个新项目。

您应该创建两个简单的项目(一个 GUI,一个控制台),并比较项目定义 XML 文件,以确定需要进行哪些更改。


Visual Studio 2008。在 XML 中我应该具体修改什么? - dicroce

0

这是可能的,但这取决于应用程序的架构方式。如果设计清晰地将业务逻辑与表现分离,您可以将业务逻辑代码和类提取到单独的库中(如果尚未完成)。完成此步骤后,您将不得不为该库创建新的API,以便控制台应用程序(或任何其他应用程序)可以使用它。

另一方面,如果表单包含业务逻辑,则必须将这些过程提取到新的非表现类中,并将其合并到新的库中。就像我说的...这是可能的,但可能需要大量工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接