DRAGON POSTMESSAGE
来源:互联网 发布:autop 线切割编程系统 编辑:程序博客网 时间:2024/06/07 07:22
读到哪,有感就写到哪,大家别介意,另外,我错别字也比较多,能有帮助就看下,没有请飘过
long UIPostMessage(HWND hForwardMsgWnd, UIMSG* pMsg, int nMsgMapID){ if (!pMsg->pMsgTo) return 0; UIMSG* pCloneMsg = new UIMSG; memcpy(pCloneMsg, pMsg, sizeof(UIMSG)); pMsg->pMsgTo->AddDelayRef((void**)&pCloneMsg->pMsgTo); ::PostMessage(hForwardMsgWnd, UI_WM_POSTMESSAGE, (WPARAM)pCloneMsg, (LPARAM)nMsgMapID); return 0;}
看这里的处理方式,调用了系统的postmessage,这里有个注意的意方,就是传过去的参数如果是new的话,那么就需要有引用计数来确定什么时候删除,要不然出现霸气泄漏可不好玩。
delayref的实现
void IMessage::AddDelayRef(void** pp){ return m_pMessageImpl->AddDelayRef(pp);}
m_pMessageImpl<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">定义如下</span>
protected: Message* m_pMessageImpl;实现如下
void Message::AddDelayRef(void** pp){ list<void**>::iterator iter = std::find(m_lDelayRefs.begin(), m_lDelayRefs.end(), pp); if (iter == m_lDelayRefs.end()) { m_lDelayRefs.push_back(pp); }}
这里添加到了数组,只是还没找出这个数组是如何处理的,那么,understand接着找,时间原因,先写到这里,后续更改
0 0
- DRAGON POSTMESSAGE
- PostMessage()
- Postmessage
- postMessage
- PostMessage
- PostMessage
- PostMessage
- PostMessage
- PostMessage()
- PostMessage
- postMessage()
- PostMessage()
- PostMessage
- PostMessage
- Chinese Dragon
- Dragon temple
- Dragon Balls
- Dragon Balls
- Linux指令之cat指令
- C++ primer 第五版 中文版 练习 10.25个人code
- NYOJ-字符串替换
- 经典算法详解(1): 河内之塔
- [AppArmor-GUI]八、项目终期报告
- DRAGON POSTMESSAGE
- C++ primer 第五版 中文版 练习 10.27个人code
- java 单例模式.
- 《临近空间科学与工程》投稿方式
- Eclipse 项目有红感叹号
- ESXi的路由特性
- NYOJ-小明求素数积
- C++ primer 第五版 中文版 练习 10.28 个人code
- dir()和vars()区别