使用WinForms扩展旧版C ++ Windows应用程序

时间:2010-06-22 05:16:07

标签: c# c++ winforms windows-mobile

我正在研究一种在Intermec制造的坚固的商用移动设备上运行的传统C ++应用程序。我需要添加一些功能,并希望使用WinForms构建它。想法是用户会点击旧应用程序中的一个按钮,该按钮将启动WinForms屏幕。然后他们做了一些事情,单击OK并返回到C ++应用程序。

问题是,我可以以某种方式“嵌入”Winforms应用程序在C ++应用程序中,以便我可以打开Winform作为模式对话框并在2个应用程序之间传递信息。

非常感谢您的帮助。

干杯

标记

3 个答案:

答案 0 :(得分:2)

首先让我们清楚一点,紧凑的框架不是完整的框架,因此很多可以在桌面上工作的东西会为你工作。

你真的只有一个选项,尽管有很多不同的方法可以使用这个选项。由于Compact Framework不支持EE Hosting(即在本机应用程序中加载CLR),因此运行托管代码的唯一选择是编写和执行托管应用程序。周期。

现在,正如我所说,你可以选择如何解决这个问题。例如,您可以在启动MFC应用程序时启动应用程序,并让它在没有表单的情况下运行,然后使用某种形式的IPC(point to point queues可能最有意义,但memory-mapped file也可能有用)然后使应用程序“交谈”彼此顶部。因此,您的C ++应用程序可以发送一条消息“显示表单A”,当表单A关闭时,托管应用程序可以发回数据。

答案 1 :(得分:1)

VS2005有MFC and WinForms Integration Demo。希望它有所帮助

答案 2 :(得分:-1)

是的,您可以通过使用CCW(COM Callable Wrapper)在此处阅读更多内容: - http://www.codeproject.com/KB/atl/ComWarpperForDotNet.aspx