如何发送一个字节数组到另一个进程在C ++中(How to send a byte array to

2019-07-03 22:55发布

我一直在检查网站上的方式,从过程的数据传输到另一个在C ++中。 我发现方法的SendMessage(),但它似乎并没有能够采取的字节数组。

上下文这里解释一下,我有一个将数据发送到另一个应用程序。 我们有不同的ID多个对象。 接收该应用程序会为每一个不同的对象标签。 如果正在接收数据的应用程序被关闭,我们开始一个新的进程,并显示数据给用户。 如果我们发出了第二次,我们需要用ID来检查,​​看看是否我们已经拥有了一个对象,如果是更换。 否则,对于新对象添加新的选项卡。

我们使用从谷歌协议缓冲区,他们与运输和序列化的字节数组工作,所以这就是为什么我需要找到一种方法,从过程到另一个发送的字节数组。

我能得到进程的HWND,但我不知道从哪里走了。

Answer 1:

进程间通信是一个特定的plattform-事情。 在Windows中,有很多方法可以做到这一点。 这MSDN文章介绍了几种方法及其优点,缺点和使用情况:

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

当您可以控制应用程序,并为第三方应用程序的支持是没有你的关注,然后再发送WM_COPYDATA通过SendMessage函数消息()给其他进程可能是一个不错的办法。



Answer 2:

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



文章来源: How to send a byte array to another process in C++