再谈dll中数据共享...(不要嫌我罗嗦啊,还望各位大虾多多关注)

dtwstm 2001-08-02 01:55:09
我已经得到了同一个dll的两个不同的实例句柄:hInstance1,hInstance2.
利用共享数据的方法我可以在hInstance1和hInstance2中传递int类型的数据.
但是共享数据中定义为HBITMAP的数据无法共享位图信息.原因可能是由于HBITMAP
所指的位图数据仍然属于不同的进程单独使用.

于是我干脆将HBITMAP不再作为全局共享数据,仅仅供每个实例使用.即
hInstance1中有一个HBITMAP m_hBitmap;
hInstance2中也有一个HBITMAP m_hBitmap;

现在的问题在于:
1.如何在这两个不同的dll实例中传递HBITMAP所表示的位图全部信息?即使hInstance2中的m_hBitmap与hInstance1中的m_hBitmap有相同的位图信息?

2.关于DuplicateHandle怎么使用,进程的HANDLE与实例句柄有什么关系?能否通过此函数传递整个位图信息呢?
...全文
95 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dtwstm 2001-08-02
  • 打赏
  • 举报
回复
问题已经成功的解决了,感谢各位的帮助!!!
luhongjun 2001-08-02
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/read_article.asp?id=7300
五行擒拿术 2001-08-02
  • 打赏
  • 举报
回复
DuplicateHandle应该是内核句柄使用的,建议你还是用共享内存,FileMapping来好一点,把数据存放在FileMapping中。
土豆 2001-08-02
  • 打赏
  • 举报
回复
HBITMAP实际是指针,在两个进程之间传递指针有什么意义。要传递数据,我想你应该用传递内存块吧

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧