c# - 如何创建中间库?

标签 c# c++ dll shared

我正在寻找一些有关如何使用 C++ 和 C# 中的库实现某些功能的信息。 我想知道的是如何解决以下问题:

  • C# 应用程序:-有一个窗口
  • C++ 库:-有一个名为 create_button(x,y) 的函数,当
    被调用,它将在
    上创建一个按钮 c# 应用程序的窗口。 (如果 C# 应用程序未运行,
    什么都不会发生)
  • C++ 应用程序:-动态链接到 C++ 库并调用 create_button() 功能。

我将如何解决这个问题,我很高兴听到您的一些想法。 平台是windows。我的问题是,如何让 C++ 库与 C# 应用程序通信以创建新按钮?它是链接的,套接字,...我特别想到 Linux 中的 GTK+,您链接到 gtk+ 库,但是该库如何与 GNOME 交互以创建新窗口等,诸如此类。我对编写 dll 并将它们链接到 C# 应用程序不感兴趣,我对创建中间库感兴趣。

最佳答案

我想不出任何理智的方法来做你想做的事。我相信你应该做的是创建函数来在 C# 应用程序中进行绘图,然后公开一些消息传递接口(interface),例如套接字,它允许外部应用程序发送消息,命令 C# 应用程序执行你告诉它的事情。当 C# 应用程序收到消息类型为 DRAW_BUTTON 的消息时,它会使用收到的消息中指定的任何参数绘制按钮。

关于c# - 如何创建中间库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4318170/

相关文章:

c# - 如何使用 DataTemplate 访问列表框中的特定项目?

c++ - 使用 STL 容器的部分 C++ 模板特化

c++ - 如何使用 Doxygen 更改派生类中的函数描述?

c# - 实现依赖对象子属性的自定义集合的正确方法?

c# - 使用 LINQ 获取 XML 节点

c - Microsoft Visual Studio 中的外部链接问题

c++ - Visual Studio 2015 使用较旧的 dll 进行调试

Java创建.dll文件

c# - 如何向下转换为重载方法

C++ ostream 运算符<< "no definition"错误(仅限 Mac 构建)