Win32程序运行方式

       Windows程序设计是一种完全不同与DOS下的程序设计方法。它是一各基于消息、以事件驱动为模式的设计。

       举个例子说明就是:
       当用户在记事本中录入文本时,按下一个字母'a'时,操作系统就会感知到这件事件。然后它(操作系统)会怎么做呢?如果是人的话,他就会起草一个报告来告诉主事人。其实,操作系统也是这么做的。它会将这个事件包装成一个消息,并将这个消息发送到会处理这个消息的程序的消息队列中,以此来告诉程序有件事要由它来处理了。
      所谓的“发送消息”,实际上就是操作系统调用程序中的一个专门负责处理消息的函数,也就窗口回调函数或称为窗口过程。参数就是这个消息。
      那什么又是“消息对队列”呢?说到这里我就要告诉你一个秘密:其实,Windows平台下的所有的程序都是在做一件事,它们做的唯一一件事就是不停的处理别人发给它的消息。一个程序被启动之后就有可能不断的收到要它处理的消息了。这些个消息首先都被送到一个属于这个程序的盒子里,这个盒子就是我们说的“消息队列”了。一个新的消息被送到这里时,一般就后到其它早于它被送来的消息后面。程序就是不停查看它的消息队列,不发现里面有消息,就取出其中的第一条消息,并做调用相应的窗口过程来处理它。第一条消息被取走之后,第二条就变成的第一条。这时程序有会将这条消息取走并处理掉。就这样消息列中的消息一条一条的被程序处理着。再告诉你一点:Windows程序真的很笨,它只会处理消息不说。就算它从消息队列中取消息,可它永远只能其中的第一条消息。更可悲的是,它个表面上属于它的消息队列,也不是它自己产生的,而是它被启动之后由操作系统自动为它生成的。你说可不可笑,哈哈...哈哈...真是太好笑了。
       说的简单一点,一个程序被启动了。所要做的就是在有消息就处理它,没有就等待,直到有消息了或者它被关闭了。
       说起来,Win32程序运行方式还是相当简单的!你认为呢?

                                 

作者:AnYuanLzh

日期:2010-10-11

你可能感兴趣的:(Win32,Win32)