Windows程序员因该都知道消息循环的!本人曾经写过类似于此篇的文章,无奈当时没有去看多线程,讲的比较生硬,也许受到众多读者的批判或质疑,而且那个用户的密码也忘记了,无法修改,只能旧事重提!
这次主要讲解4个(2对)函数 发送消息的函数和接受消息的函数各2个;
1 发送消息的函数
这里主要讲 Sendmessage()和Postmessage()
区别: Sendmessage()将消息发送到相应的窗口只待消息被处理方返回;即它是同步的函数;
如下例
MSG msg;
msg = WM_KEYDOWN;
Sendmessage(msg);
MessageBox("Sendmessage");
只有Sendmessage()函数返回之后才能显示对话框;但是如果是Postkmessage()
MSG msg;
msg = WM_KEYDOWN;
Postmessage(msg);
MessageBox("Sendmessage");
对话框不会等Postkmessage()函数返回直接显示;因为Postkmessage()是异步执行的;
2 接收消息的函数
这里主要讲 Getmessage()和Peekmessage()
区别: 1 Getmessage()比Peekmessage()少一个参数,Peekmessage可以设定将消息从消息队列取出之后消息是否还继续放在消息队列或者清除掉;
2 Getmessage()去消息队列取消息直到有一个消息为止,而Peekmessage发现消息队列中没有消息时同样返回;让出CPU时间去做别的事情;
过去以为自己很了解这几个函数,真正写点东西的时候发现说的还是不清楚!望大家见谅,如果有什么不对的地方希望给与改正!