首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将生成的图像/位图/GDI对象传递给其他进程?

如何将生成的图像/位图/GDI对象传递给其他进程?
EN

Stack Overflow用户
提问于 2010-02-18 11:08:40
回答 1查看 427关注 0票数 1

我有一个进程A,它生成要在屏幕上绘制的HBITMAP GDI对象。我有另一个进程B,它想要显示进程A创建的图像的内容。

我计划使用点对点消息队列或其他消息传递来进行通信/对话;并使用共享内存(以及互斥和/或事件)来共享数据。

如何共享图片数据?我在here上读到,GDI对象的句柄不能保证在进程间共享。使用文件共享并不是一个真正的选择,因为图像不断变化(但如果没有其他方法,我仍然会考虑这样做)。

此外,流程A是使用eVC4 (PPC2003 SDK)编写的,而流程B是使用VS2005 (WM 6 Pro SDK)编写的。我有两个应用程序的工作源代码,所以我可以对这两个程序进行一些修改,但暂时不会将应用程序A迁移到VS2005。

COM IImage是一个选项吗?

我更喜欢本机代码,但也考虑托管代码。

EN

回答 1

Stack Overflow用户

发布于 2010-02-18 11:14:59

使用带有共享内存对象句柄的CreateDIBSection作为节句柄。您从CreateDIBSection返回的HBITMAP可能不能与其他进程共享(我不知道),但如果其他进程也从相同的共享内存对象创建了一个DIB部分,那么位图位将被共享。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2286037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档