读书人

Windows SDK 编程方式的有关问题

发布时间: 2013-11-21 23:38:25 作者: rapoo

Windows SDK 编程方式的问题
Windows SDK 编程的一般步骤为:
    1. 注册窗口类, 使用到的结构 WNDCLASSEX, 函数 RegisterClassEx.
    2. 创建窗口, 函数 CreateWindowEx.
    3. 消息循环, 结构 MSG, 函数 GetMessage, TranslateMessage, DispatchMessage.
    4. 进入无限循环, 消息处理 :-)


每一级窗口(或菜单)都是这样的:
    1. 注册窗口类, 使用到的结构 WNDCLASSEX, 函数 RegisterClassEx.
    2. 创建窗口, 函数 CreateWindowEx.
    3. 消息循环, 结构 MSG, 函数 GetMessage, TranslateMessage, DispatchMessage.
    4. 进入无限循环, 消息处理 :-)

窗口多了,窗口中的消息多了,会不会影响系统的稳定性? 如何理顺这种关系呢?
[解决办法]
合理的划分模块,消息不怕多,就怕乱
[解决办法]
消息循环并不等于是while(1)这样的循环, 因为你会发现它并不会像while(1)这样的死循环一样, 占用30%以上的CPU.

windows就是基于消息的, 所以你不用担这个问题.
[解决办法]
程序设计不当消耗了大量了cpu导致死机是有可能的!
所以理清楚各个消息控制就好,思路清楚!
[解决办法]
这个说法不完全正确
每一级窗口(或菜单)都是这样的:
    1. 注册窗口类, 使用到的结构 WNDCLASSEX, 函数 RegisterClassEx.//每个窗口类都需要,但不是每个窗口需要
    2. 创建窗口, 函数 CreateWindowEx.//每个窗口需要
    3. 消息循环, 结构 MSG, 函数 GetMessage, TranslateMessage, DispatchMessage.
    4. 进入无限循环, 消息处理 :-)
//3,4:每个线程需要,每个线程的所有窗口共用一个消息循环


[解决办法]
GDI32/USER32 还要存在一阵子

读书人网 >C语言

热点推荐