簡體   English   中英

在兩者都運行時將信息從C#應用程序傳遞到C ++應用程序的最佳方法是什么?

[英]What is the best way to pass information from a C# app to a C++ app while both are running?

在Windows Forms C#應用程序運行時將信息從Windows Forms C#應用程序傳遞到MFC C ++應用程序的最佳方法是什么? 我不需要發送太多,只需發送一小串。

謝謝傑夫

在IPC選項列表中:

  • 內存映射文件。 在C ++中很容易,在C#中沒有指針很困難,握手很尷尬
  • WM_COPYDATA。 兩者都很容易,很難找到所需的窗口句柄
  • 剪貼板。 兩者都很容易,非常尷尬的握手
  • COM。 過程外就是野獸,算了吧
  • 郵筒。 不適合一對一通訊
  • 管道。 在.NET 3.5中很容易,可以在C ++中運行,但是要正確一點點就有些棘手
  • 套接字。 兩者都很容易,很難通過。

使用命名管道,請參閱這篇文章

如果C ++應用程序具有主窗口,請看一下使用C#應用程序中的SendMessage函數(通過P / Invoke)將WM_COPYDATA消息發送到C ++應用程序。

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

MailSlot api既小巧又簡單,但是需要P / Invoke從c#中使用,並且可以在本地計算機之外使用,因此需要注意。 在這里看到我的答案

命名管道可能更健壯,但這是另一種選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM