我记得在使用 C 和 win32 时,我有许多 IPC 技术。到目前为止,我还没有在 .NET 中遇到过它们中的任何一个,也没有在 C 之外看到它们,所以我想我想问我如何使用这些进程间通信技术?
共享/全局内存。只需分配可以由另一个进程更改而没有任何信号的 ram。
窗口消息。我记得使用 SendMessage 并使用 WM_USER + N 并在我触摸共享内存时告诉另一个应用程序,要求它更改文件或设置,有时还告诉其他应用程序我输入了一些击键来充当宏,因为我有时会感到懒惰。
动态数据交换。我尝试过,但永远无法让它发挥作用。据我所知(警告这可能是完全错误的),您将自己注册到全局消息或事件,另一个应用程序(通常是您的)将发送消息,这两个左右的应用程序可以相互通信,发布消息,您可以进行集成以这种方式在两个应用程序之间。我很想知道是什么取代了它。
还有一些我知道仍在使用和看到的命名管道。我记得人们推荐 IPC 的套接字,但我从不喜欢这样做,我知道它仍然存在并且可以在需要时使用。
我还想念什么,是什么取代了这种技术?我知道有很酷的全局互斥锁。我仍在寻找一种在两个应用程序之间发送消息的现代方式(第 2 点)。我一直想知道是否存在某种不在管道中的 FIFO 队列。就像 Windows 消息一样,除了我可以推送数据(如 1k)而不是每次发送消息和分配全局内存。
-编辑-凹凸。这个线程目前仍然与我相关。