我正在开发一个旧版 C++ 应用程序,该应用程序在 Intermec 制造的坚固耐用的商务移动设备上运行。我需要添加一些功能并希望使用 WinForms 构建它。这个想法是,用户将单击旧应用程序中的一个按钮,该按钮将启动一个 WinForms 屏幕。然后他们会做一些事情,单击确定并返回到 C++ 应用程序。
问题是,我能否以某种方式将 Winforms 应用程序“嵌入”到 C++ 应用程序中,以便我可以将 Winform 作为模式对话框打开并在两个应用程序之间传递信息。
非常感谢您的帮助。
干杯
标记
最佳答案
首先让我们明确一点,紧凑型框架不是完整的框架,因此许多可以在桌面上运行的东西不对您也适用。
您实际上只有一个选项,尽管有很多不同的方法可以使用一个选项。由于 Compact Framework 不支持 EE 托管(即在 native 应用程序中加载 CLR),您运行托管代码的唯一选择是编写和执行托管应用程序。期间。
现在,正如我所说,您可以选择如何进行此操作。例如,您可以在启动 MFC 应用程序时启动该应用程序,并使其在没有窗体的情况下运行,然后使用某种形式的 IPC(point to point queues 可能最有意义,但 memory-mapped file 也可能有用)和然后让应用程序相互“交谈”。因此,您的 C++ 应用程序可以发送一条消息“显示表单 A”,当表单 A 关闭时,托管应用程序可以发回数据。
关于c# - 使用 WinForms 扩展旧版 C++ Windows 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3090457/