如何在 Visual C++ 2008 中将 MFC 应用程序项目添加到 Win32 应用程序项目
Posted
技术标签:
【中文标题】如何在 Visual C++ 2008 中将 MFC 应用程序项目添加到 Win32 应用程序项目【英文标题】:How to add MFC application project to Win32 application project in Visual C++ 2008 【发布时间】:2014-02-05 15:20:17 【问题描述】:我一天中的大部分时间都在试图弄清楚为什么会发生这个错误,但它仍然让我感到困惑。
我在 Visual C++ 中创建了一个控制台应用程序并创建了一个 MFC 应用程序。现在,我想将它们添加到单个项目中,这样当我编译项目时,它应该打开控制台,然后根据我的命令打开对话框......
我已经添加了 afx 头文件,设置配置设置。
我想知道从哪里开始是winmain() 还是int main()? 有没有例子。? 给我一些链接知道。解决方案 提前谢谢你。
【问题讨论】:
您究竟想在这里实现什么?你可以很容易地attach a new console window to an MFC app,但这可能不是最好的解决方案。 【参考方案1】:创建基于 MFC 对话框的应用程序。项目 - 属性 - 配置属性 - 链接器 - 高级 - 入口点,设置 wWinMainCRTStartup(假设项目是 Unicode)。链接器 - 系统 - 选择控制台。构建应用程序。现在它会打开控制台窗口和其中的对话框。
添加一些逻辑。例如,在我的 Application 类 cpp 文件中,我添加了以下内容:
#include "stdafx.h"
#include "testmfc.h"
#include "testmfcDlg.h"
#include <iostream> // add
#include <string> // add
using namespace std; // add
...
BOOL CtestmfcApp::InitInstance()
...
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
// ****** add this
string s;
cout << "Start application?" << endl;
cin >> s;
if ( s == "y" )
CtestmfcDlg dlg;
m_pMainWnd = &dlg;
dlg.DoModal();
// ******
// Delete the shell manager created above.
if (pShellManager != NULL)
delete pShellManager;
return FALSE;
现在运行应用程序。如果您在控制台窗口中回答“y”,则会显示对话框。否则,应用程序立即退出。基于此示例实现您自己的逻辑。
【讨论】:
我可以使用与您所说的相同的方法来使用 SDI 应用程序以上是关于如何在 Visual C++ 2008 中将 MFC 应用程序项目添加到 Win32 应用程序项目的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 Visual Studio 2008 中使用 Visual Studio 6 编译的 C++ 静态库吗?
如何在 Visual Studio 2008 中将程序集信息添加到网站/应用程序
如何在 vc 2008 上使用“Visual C++ 2008 Feature Pack”?
如何在 Visual Studio 2008 和 C++ 中显示希腊字符? [复制]