PostThreadMessage和SendMessage用法+结合CreateThread多线程讲解

本文介绍了Windows API中的SendMessage和PostThreadMessage函数在多线程环境中的使用方法,通过创建线程和自定义消息,展示了如何在线程间进行通信。同时,提到了CreateThread函数在创建线程中的角色,以及如何设计高效的消息处理机制。
摘要由CSDN通过智能技术生成

提示:有关函数及其参数介绍大家直接百科就行了,这里只介绍具体用法。

一、SendMessage

首先我们来学习一下如何使用SendMessage函数,这个函数在线程中调用后,消息发出到消息接收函数,

该线程必须等到消息接收函数执行完毕才能继续向下执行。这也是它和PostThreadMessage最大的区别。

后者只需要抛出消息,然后继续执行,不需等待接受消息函数执行完。

 

比较完整的做法,六步就可执行完毕,希望读者有些耐心,并且能真正理解其用法的含义。

 

1.

//首先要自定义一个用户消息,我们一般用WM_USER +n来定义消息ID,n要大于100,小于100的已经被系统消息ID占用。

该操作一般位于头文件中。

#define WM_USERLOGIN_RSP WM_USER+102 //账号登录响应

 

2.

//声明一个函数用于接收消息。一般也放在头文件中

afx_msg LRESULT OnUserLogin(WPARAM wParam,LPARAM lParam);

 

3.

//给消息绑定接收函数

ON_MESSAGE(WM_USERLOGIN_RSP,OnUserLogin)

如果是基于MFC编程,在

//将消息和函数绑定

BEGIN_MESSAGE_MAP(CTraVariety, CDi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值