可能吗?C# 中的 GUI,C++ 中的应用程序

本文关键字:C++ 应用程序 GUI 中的 | 更新日期: 2023-09-27 18:35:32

是否可以在 C# 中创建 GUI 层,在 C++ 中创建其余应用程序?如果我没记错的话,其中一个抗病毒软件在德尔福制作了GUI。怎么做?

可能吗?C# 中的 GUI,C++ 中的应用程序

您有多种选择,包括:

  1. 使用 P/Invoke 从 C# 调用C++ DLL。
  2. 从本机代码公开 COM 接口,并使用 COM 互操作从 C# 调用它。
  3. 编写本机 Windows 服务并从托管代码调用该服务。
  4. 使用 C++/CLI 在 C++ 中编写托管库,可以轻松地从 C# 链接到该库。

如果您从头开始,选项 4 可能是您的最佳选择。(除了用 C# 编写整个事情之外。 前三个选项都涉及一些额外的争吵和开销,如果您没有令人信服的理由(例如需要与现有的本机库交互或需要面向服务的体系结构),则可能不值得麻烦。

如果你用 C++/CLI 编写业务逻辑,用 C# 编写 UI,这应该不是问题。如果要使用纯 ANSI C++编写,则可能需要围绕要向 C# 公开的对象编写 C++/CLI 包装器。

在 C++ DLL 中编写应用逻辑,然后使用 C# 中的 pinvoke 与 DLL 通信。

看到这个答案。它似乎回答了你的问题