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

标签 c# c++ winforms windows-mobile

我正在开发一个旧版 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/

相关文章:

c# - C# 和 PHP 上的 Blowfish 加密产生不同的结果

c# - 自定义验证属性始终返回 IsValid==true

c# - C#如何改变文本框的字体颜色?

c# - 使用 Graph# 绘制图形

c++ - Xcode - 剖析和优化 C++ 编译时间

c# - 为什么我会收到异常 InvalidOperationException?

c# - 在 Visual Studio 中运行 PowerShell 脚本时无法获取 Active Directory 终端服务属性

c# - 如何在同一方法中将调用方法的名称作为参数动态传递?

C++/C++11 使用初始化列表初始化对象的静态数组/vector 的有效方法,并支持基于范围的

c++ - move map 的构造函数