下载此文档

Windows程序的内部运行原理.ppt


文档分类:IT计算机 | 页数:约34页 举报非法文档有奖
1/34
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/34 下载此文档
文档列表 文档介绍
Windows程序的内部运行原理Windows程序设计是完全不同于Dos环境下的程序设计,是一种事件驱动的程序设计方法。主要是基于消息的。当用户需要完成某种功能时,会调用OS的某种支持,OS将用户的需要包装成某种消息,并投递到消息队列当中。然后利用应用程序从消息队列中取走消息并进行响应。操作系统输入输出设备应用程序消息队列①②③④操作系统能操纵输入输出设备,以执行特定的功能操作系统能感知输入输出设备的状态变化应用程序可以通知操作系统执行某个具体的动作操作系统能够将输入设备的变化上传给应用程序在应用程序中要完成某个功能,都是以函数调用的形式实现的,同样,应用程序也是以函数调用的方式来通知操作系统执行相应的功能的。操作系统所能完成的每一个特殊功能通常都有一个函数与其对应。也就是说,操作系统把它能完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用。这些函数的集合就是windows操作系统提供给应用程序的编程接口,即API。如CreateWindow就是一个API函数,应用程序中调用这个函数,操作系统就会按照该函数提供的参数信息产生一个相应的窗口。应用程序如何通知操作系统执行某个功能比如用户在某个程序活动时按下一个键,操作系统马上能够感知到这一事件,并且能知道用户按下的是哪个键,操作系统并不决定对这个事件如何做出反应,而是将这一事件转交给应用程序,由应用程序决定如何对这一事件做出反应。好比有只蚊子叮了我们一口,我们的神经末梢(相当于操作系统)马上感知到这一事件,并传递给我们的大脑(相当于应用程序)。我们的大脑最终决定如何对这一事件做出反应,如将蚊子赶走,或是将蚊子拍死。对事件做出反应的过程就是消息响应。操作系统能够将输入设备的变化上传给应用程序操作系统是怎样将感知到的事件传递给应用程序的呢?这是通过消息机制(Message)来实现的。操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序。 typedefstructtagMSG { HWNDhwnd; UINTmessage; WPARAMwParam; LPARAMlParam; DWORDtime; POINTpt; }MSG;关于消息和消息队列窗口句柄消息的名字消息的附加参数窗口是屏幕上的一个矩形区域,应用程序在该区域中显示数据并等待鼠标点击。Windows应用程序的用户界面可以包含许多窗口,当然要对这些窗口进行标识。窗口操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源。按资源的类型,又可将句柄细分成图标句柄(HICON)、光标句柄(HCURSOR),窗口句柄(HWND),应用程序实例句柄(HINSTANCE)等各种类型的句柄。操作系统给每一个窗口指定的一个唯一的标识号即窗口句柄。句柄就是资源的标识,就象指针一样,我们要索引这样一个资源,就需要通过句柄去索引它。句柄:资源的标识intx,y;x=30,y=40;//x和y既可以用来表示坐标点,也可以用来表示宽度和高度,还可以用来表示身高和体重。typedefintWIDTH;typedefintHEIGHT;WIDTHx;HEIGHTy;//好处:我们从变量的类型就可以知道x和y是用来表示宽度和高度。从变量的类型区分变量的用途操作系统会为每个应用程序建立一个消息队列。这个队列是个先进先出的缓冲区。消息队列中的每个元素都是一条消息。操作系统将生成的消息放在消息队列里。第一条消息放入第一格,第二条消息放入第二格,依次类推。应用程序总是取走消息队列中的第一条消息。第一条消息取走后,第二条消息往前移,成为第一条,剩余的消息依次前移。应用程序取得消息后,便能知道用户的操作以及应用程序的状态的变化。当收到消息的时候,会编写针对这个消息的处理代码,这个过程就叫消息响应。消息响应是通过程序实现的,这就是Windows应用程序的主要代码区。消息队列

Windows程序的内部运行原理 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数34
  • 收藏数0 收藏
  • 顶次数0
  • 上传人changjinlai
  • 文件大小299 KB
  • 时间2019-10-16