| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3122 人关注过本帖
标题:Windows程序中的消息循环方法
取消只看楼主 加入收藏
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
收藏
 问题点数:0 回复次数:1 
Windows程序中的消息循环方法
Windows程序通常也是这样:

    while (int ret=GetMessage(&sMsg, NULL, 0, 0)) {        // 消息循环
        if (ret != -1) {
            TranslateMessage(&sMsg);
            DispatchMessage(&sMsg);
        }
    }

这就是说TranslateMessage(&sMsg)起 等待信号作用,而DispatchMessage(&sMsg)起处理信号作用
但是我有个疑问,这个 等待信号 函数是怎么实现的?
不会是这个等待信号 TranslateMessage函数就是将CPU挂起
而DispatchMessage函数就相当一个中断函数,在有消息的时侯,产生一个中断信号
从而退出挂起状态,转而执行 信号处理??
搜索更多相关主题的帖子: Windows 
2008-09-20 23:02
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
回复 2# Arcticanimal 的帖子
哦,您的意思是他们由各自的分工:
TranslateMessage 处理键盘输入
而 DispatchMessage 处理除了键盘输入信号之外的消息?
2008-09-21 10:45
快速回复:Windows程序中的消息循环方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057178 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved