主机Windows窗体(C#)内部MFC应用程序(VC ++,VS6.0)

时间:2013-02-28 22:55:15

标签: c# c++ winforms mfc

今天下午经过一堆阅读,并没有得到任何实实在在的结果。是否可以在仍使用VC6开发的MFC应用程序中托管Windows窗体对话框。

出现的问题是我们有一个大型应用程序从未使用新的Visual Studio进行升级,因为VC6始终有效。现在我们需要在其中添加一些C#功能。我无法执行/ clr选项,因为我们的项目完全由非托管C ++组成。我在所有库/标题中搜索了“CWinFormsControl”并没有提出任何建议。我不确定下一步该尝试什么。

此外,请原谅我正在做研究的任何无知以及对这种深度编程的新认识。

我检查过以下文章:

2 个答案:

答案 0 :(得分:2)

CWinFormsControl需要MFC 8.0。

您可以make your managed assembly a COM server(例如ActiveX)在MFC应用程序中使用它,就像任何其他COM服务器一样。

答案 1 :(得分:1)

我没有VC6来试试这个,但我认为它应该是最有可能的;至少对于一个简单的模态ShowDialog()场景。

您将使用C ++ / CLI创建一个新的程序集/ DLL,使用 / clr 标志进行编译。这将使用通常的__declspec(dllexport)向您现有的MFC代码公开非托管API。该实现将调用您的C#代码,它仍然是另一个程序集。