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