使用postmessage发送自定义消息
来源:互联网 发布:腾讯云计算数据中心 编辑:程序博客网 时间:2024/04/20 08:30
【N久之前的笔记了】
用 PostMessage、SendNotifyMessage、SendMessageCallback 等异步函数发送系统消息时,参数里不可以使用指针,因为发送者并不等待消息的处理就返回,接受者还没处理指针就已经被释放了。
(MSDN中的remark)If you send a message in the range below WM_USER to the asynchronous message functions (PostMessage, SendNotifyMessage, and SendMessageCallback), its message parameters can not include pointers. Otherwise, the operation will fail. The functions will return before the receiving thread has had a chance to process the message and the sender will free the memory before it is used。
自己在程序中使用了一个postmessage向父窗口发送自定义消息,带一个指针参数,结果在父窗口的函数中取出参数之后发现内容被改动了!O.M.G.!调了一上午,能想到的地方都测试了,还是出错,忽然想到前两天也使用自定义消息传递过指针为什么那一次就行呢?找出程序来检查了一遍,发现那个使用的是sendmessage,也就是发送同步消息,疑问:除了一个放入消息队列,直接返回(post),一个等待知道处理完成返回(send)外,还有什么区别?查了一个MSDN发现,还真不是那么简单的一回事,又到网上一搜,发现原来如此,把post改为send之后果然,指针参数就正常了。
- 使用postmessage发送自定义消息
- MFC发送自定义消息-PostMessage和SendMessage
- PostMessage发送click消息
- Qt实现类似sendmessage和postmessage发送自定义消息
- MFC中发送自定义消息机制,PostMessage和SendMessage方式
- VC++ 添加自定义消息响应函数以及发送消息SendMessage投递消息PostMessage的简单测试
- Vc/MFC中自定义消息及其PostMessage触发使用
- Vc/MFC中自定义消息及其PostMessage触发使用
- VC 自定义消息 postmessage用法
- VC 自定义消息 postmessage用法
- [VC++]PostMessage,WM_CHAR消息发送中文
- VC/Win32 消息的发送 SendMessage/PostMessage
- <Win32 API> 发送消息 SendMessage/PostMessage
- 用SendMessage/PostMessage发送WM_SIZE消息
- MFC Dialog工程中多线程使用PostMessage发送接收字符串消息并更新界面
- 使用回调函数发送自定义“消息”
- VC自定义消息postmessage用法(消息响应函数)
- SendMessage和PostMessage发送windows消息的区别
- Hdu 1286 找新朋友
- tomcat6.0绿色版 环境变量配置
- div+css小案例
- python笔记:简单的查找与排序算法
- java中对字符串的一些简单操作
- 使用postmessage发送自定义消息
- POJ3615 跨栏最大高度(多源最短路径)
- dbus 例程
- 打印更精准激光3D打印机问世
- Shell Script 提取文件名和文件扩展名的方法
- C++的性能检测
- 好书
- 【转】C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- C++中关于写日志文件Log的方法