如何将字节数组发送到C ++中的另一个进程

我一直在网站上检查一种方法,将数据从一个进程传送到另一个进程。 我发现了SendMessage()方法,但似乎无法获取字节数组。

为了解释一下上下文,我有一个应用程序将数据发送到另一个。 我们有几个不同ID的对象。 接收到的应用程序为每个不同的对象创build一个标签。 如果正在接收数据的应用程序closures,我们启动一个新的进程并向用户显示数据。 如果我们再次发送,我们需要检查ID,看看是否已经有一个对象,如果是,请replace它。 否则,为新对象添加新的选项卡。

我们使用来自google的协议缓冲区,他们使用字节数组进行传输和序列化,所以这就是为什么我需要find一种方法将字节数组从一个进程发送到另一个进程。

我能够得到HWND的过程,但是我不知道从哪里开始。

进程间通信是一个特定于平台的事物。 在Windows中,有很多方法可以做到这一点。 本MSDN文章介绍了几种方法及其优缺点和用例:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx

当你控制这两个应用程序,并且对第三方应用程序的支持不关心你,那么通过SendMessage()发送WM_COPYDATA消息到另一个进程可能是一个好方法。

如果你想使用SendMessage,你可以使用WM_COPYDATA消息发送一个数据块,尽管它只是一个字节块,而不是一个对象。