如何在C++中将字节数组发送到另一个进程
How to send a byte array to another process in C++
我一直在网站上检查一种将数据从一个进程传输到另一个进程的方法,C++。我找到了 SendMessage() 方法,但它似乎无法采用字节数组。
为了稍微解释一下这里的上下文,我有一个将数据发送到另一个应用程序的应用程序。我们有几个具有不同 ID 的对象。接收的应用程序为每个不同的对象创建一个选项卡。如果接收数据的应用已关闭,我们将启动一个新进程并向用户显示数据。如果我们第二次发送,我们需要检查 ID 以查看我们是否已经有一个对象,如果是,请替换它。否则,请为新对象添加新选项卡。
我们使用谷歌的协议缓冲区,它们使用字节数组进行传输和序列化,这就是为什么我需要找到一种方法将字节数组从一个进程发送到另一个进程。
我能够获得该过程的 HWND,但我不知道从现在开始何去何从。
进程间通信是特定于平台的东西。在Windows中,有很多方法可以做到这一点。这篇 MSDN 文章介绍了几种方法及其优缺点和用例:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx
当您控制两个应用程序并且您不关心对第三方应用程序的支持时,通过 SendMessage() 将WM_COPYDATA消息发送到另一个进程可能是一个好方法。
如果要使用 SendMessage,可以使用WM_COPYDATA消息发送数据块,尽管它只是一个字节块,而不是一个对象。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 将类型化数组写入子进程 stdin 无法正常工作
- C++,删除函数/迭代进程中定义的动态数组
- 在MPI进程之间更新数组
- 如何在C++中将字节数组发送到另一个进程
- 数组大小错误 x64 进程
- 如何使用广播将二维数组传递给所有进程
- 将字符串数组传递给多个进程的 for 循环中的 CreateProcess
- 两个进程之间共享数组
- C++在MPI进程之间共享大型数组和数据结构
- 在数组中增加元素时进程意外终止
- 继承在子进程中初始化的数组
- MPI:从进程渗透子数组来更新根/主进程中的主数组