好的,所以场景如下。
Application1能够加载和调用非托管C++DLL。
我想用C#编写另一个用户界面,让我的生活更轻松。
然后我希望DLL能够向C#可执行文件发送信息,并且C#可执行程序能够向DLL发送信息。
来回传递的信息并不复杂。它将只是一个字符串。
关于如何做到这一点的任何想法。
这应该可以回答您的问题。基本上,最简单的选项是用于同一台机器上通信的命名管道,以及用于不同机器的套接字
更新
经过更好的考虑,答案取决于"谁在掌权?"在您的场景中
1.如果C#可执行文件负责调用非托管DLL并发送/检索信息,那么您应该使用平台调用
2.如果你想让你的非托管DLL决定何时向应用程序发送数据,那么首先你应该将你的DLL转换为成熟的应用程序,然后再进行进程间通信。