我一直在网站上检查一种在 C++ 中将数据从一个进程传输到另一个进程的方法。我找到了 SendMessage() 方法,但它似乎无法获取字节数组。
为了解释一下这里的上下文,我有一个将数据发送到另一个应用程序的应用程序。我们有几个具有不同 ID 的对象。接收的应用程序为每个不同的对象创建一个选项卡。如果接收数据的应用程序已关闭,我们将启动一个新进程并向用户显示数据。如果我们第二次发送,我们需要检查 ID 以查看是否已经拥有其中一个对象,如果是则替换它。否则为新对象添加新选项卡。
我们使用谷歌的协议缓冲区,它们使用字节数组进行传输和序列化,所以这就是为什么我需要找到一种方法将字节数组从一个进程发送到另一个进程。
我能够获得该进程的 HWND,但我不知道现在该去哪里。
进程间通信是特定于平台的事情。在 Windows 中,有很多方法可以做到这一点。这篇 MSDN 文章介绍了几种方法及其优缺点和用例:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx
当您控制这两个应用程序并且您不关心对第三方应用程序的支持时,则发送WM_复制数据通过 SendMessage() 向其他进程发送消息可能是一个好方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)