2

在运行时将信息从 Windows 窗体 C# 应用程序传递到 MFC C++ 应用程序的最佳方法是什么?我不需要发送太多,只需发送一个小字符串。

谢谢,杰夫

4

4 回答 4

4

向下查看 IPC 选项列表:

  • 内存映射文件。在 C++ 中很容易,在没有指针的 C# 中很难,握手很尴尬
  • WM_COPYDATA。两者都很容易,很难找到您需要的窗把手
  • 剪贴板。两者都很容易,握手很尴尬
  • 通讯。程序外是野兽,忘了它
  • 邮槽。不适合一对一交流
  • 管道。在 .NET 3.5 中很容易,在 C++ 中可以使用,但要正确使用有点棘手
  • 插座。两者都容易,很难放弃。
于 2009-02-13T23:14:46.963 回答
3

使用命名管道,请参阅此贴文

于 2009-02-13T17:53:59.373 回答
0

MailSlot api 小而简单,但需要从 c# 使用 P/Invoke,并且可以在本地机器之外使用,因此需要小心。在这里查看我的答案

命名管道可能更健壮,但这是一种替代方法。

于 2009-02-13T17:57:32.220 回答
0

如果 C++ 应用程序有一个主窗口,请查看在 C# 应用程序中使用 SendMessage 函数(通过 P/Invoke)向 C++ 应用程序发送 WM_COPYDATA 消息。

http://msdn.microsoft.com/en-us/library/ms649011%28VS.85%29.aspx

于 2009-02-13T17:48:51.287 回答