我正在研究一种在Intermec制造的坚固的商用移动设备上运行的传统C ++应用程序。我需要添加一些功能,并希望使用WinForms构建它。想法是用户会点击旧应用程序中的一个按钮,该按钮将启动WinForms屏幕。然后他们做了一些事情,单击OK并返回到C ++应用程序。
问题是,我可以以某种方式“嵌入”Winforms应用程序在C ++应用程序中,以便我可以打开Winform作为模式对话框并在2个应用程序之间传递信息。
非常感谢您的帮助。
干杯
标记
答案 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