♣
windows为什么要使用消息循环
既然有窗口过程,为什么还要使用消息循环
消息循环的作用似乎只有wm_quit被用到了
其它的消息好像都是窗口过程处理的
· 网友精彩回答:
windows 在界面上是事件驱动的,而消息循环正是事件驱动的底层机制。
过程式的方法当然也能做一部分的窗口环境处理过程,但对于windows这样的巨大的系统,对于程序的运行,消息循环和事件驱动的引入大大提升了效率和编写的方便,想想看如果你要程序在后台运行时用户通过hotkey的消息两种处理的优劣比较在李维的vcl架构一书第一章有详细介绍!可以看看
编程和理解方便而产生的开发方式
当你在开发的时候
遇到了一些特殊问题的时候
你就明白了............
由于win 事件驱动特性
消息循环在一些特殊情况下是处理问题的首选方法........
了解一下多任务就可以理解了,同时多个任务,而只有一个cpu,所有窗口的消息都需要这个cpu来处理。除了让各个程序等待,系统发送消息,并没有其它好的方法!
你用什么做开发?
建计做做sdk你就知道不是什么都是能让别人帮你搞定的.
楼主想想如果没有消息循环,那窗口怎么得到消息?
消息循环还使得软件有了更好的交互性
所有多任务系统无不是采用这种消息机制来实现的
须然有很多不懂的说法和不同的实施细节,但机制都是一样的。
这也很符合人类的处事逻辑。
windows 应用程序用侯捷的话说:基于消息,事件驱动。
while (getmessage (&msg, null, 0, 0))
{
translatemessage (&msg) ; //转换键盘消息
dispatchmessage (&msg) ; //将消息分发到窗口过程
}
窗口过程也是靠得到消息来响应
并不是很少程序员在这里写过这样的代码.而是你没脱离过集成开发环境去写win32程序.
任何win32程序都会有这段代码的.它位于winmain中.消息是先经过dispatchmessage (&msg) 之后消息才到达wndproc中.
你可以在vc里建里一个holle win程序就可以明白了.
算了,不说也罢
.- 更多问题:
- · 博士街头当乞丐?
- · 标题有点那个,还是不写了吧
- · 日本处于“对华心理调适期”
- · 中国政改的困难(摘自《早报网》)
- · 如何在一个程序中实现“当程序被人从进程列表中强行结束就执行一段特定得代码(如写错误日志)”在线等待。。。
- · 谁会用dev-c++添加音乐???
- · 如何使img不响应双击事件?
- · 有关GDI+的简单问题
- · 求碰撞代码
- · 数据库的备份与回复(拆分与合并),教教我吧
- · CSDN首页的那个“文档”有没有搜索功能啊?
- · 郁闷啊,每次提交保存竟然永遠是同樣的時間,連<F5>刷新都沒用!
- · 一个程序员给初学编程人的建议!
- · 菜鸟请教asp计数的实现?
- · 关于TC2.0的问题!!!
- · 求教:weblogic workshop数据库控件的错误。

