windows程序内部运行机制

windows程序内部运行机制

ID:32585839

大小:75.12 KB

页数:6页

时间:2019-02-13

windows程序内部运行机制_第1页
windows程序内部运行机制_第2页
windows程序内部运行机制_第3页
windows程序内部运行机制_第4页
windows程序内部运行机制_第5页
资源描述:

《windows程序内部运行机制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Windows程序内部运行机制1、API与SDKWindows操作系统捉供了各种各样的函数,以方便我们开发Windows应用程序,这些函数是Windows操作系统提供给应用程序编程的接口(ApplicationProgrammingInterface),简称为API函数。我们在编写Windows程序时所说的API函数,就是指系统提供的函数,所有主耍的Windows函数都在Window,h头文件中进行了说明微软提供的API函数人多是有意义的单词组合,每个单词的首字母大写MSDN是微软为开发人员提供的-套帮助系统,其中包含大量

2、的开发文档、技术文章和示例代码SDK的全称是SoftwareDevelopmentKit,屮文译为软件开发包。SDK实际上就是开发所需资源的一个集合,包括API函数库、帮助文档、使用手册、辅助工具等资源2、窗口与句柄窗口是Windows应用程序中一个非常巫要的元素,一个Windows应用程序至少要有一个窗口,称为主窗口。窗口是屏幕上的一块矩形区域,是Windows应用程序与用户进行交互的接口。利用窗口,可以接受用户的输入,以及显示输出一个应用程序窗口通常包括标题栏、菜单栏、系统菜单、最小化框、最大化框、可调边框,有的还有滚

3、动条窗口可以分为客户区和非客户区。客户区是窗口的一部分,应用程序通常在客户区中显示文字或者绘制图形。标题栏、菜单栏、系统菜单、最小化框、最人化框、可调边框统称为窗口的非客户区,它们tlWindows系统來管理,而应用程序则主要管理客户区的外观及操作在Windows应用程序中,窗口是通过窗口句柄(HWND)来标识的。我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。在Windows程序屮,有各种各样的资源(窗口,图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标识这些资源的标识号,即句柄。3、消息与消息队列在

4、Windows中,不仅用户程序可以调用系统的API函数,反过来,系统也会调用用户程序,这个调用是通过消总队列来进行的Windows程序设计是一种基于事件驱动方式的程序设计模式,主要是基于消息的。用户与应用程序交互时,操作系统感知事件,将事件包装成一个消息,投递到应用程序的消息队列中,然后应用程序从消息队列屮取出消息并进行响应。在这个处理过程中,操作系统也会给应用程序“发送消息”。所谓“发送消息”,实际上是操作系统调用程序中一个专门负责处理消息的函数,这个两数称为窗口过程1、消息在Windows程序中,消息是由MSG结构体定

5、义的。MSG结构体的定义如下:typedefstructtagMSG{//msgHWNDhwnd;UINTmessage;WPARAMwParam;LPARAMIParam;DWORDtime;POINTpt;}MSG;第一个成员变Mhwnd表示消息所属的窗口。我们通常开发的程序都是窗口应用程序,一个消息一般都是与某个窗口相关联的。例如,在某个活动窗口屮按卞鼠标左键,产生的按键消息就是发给该窗口的。在Windows程序中,用HWND类型的变量来标识窗口第二个成员变Mmessage指定了消息的标识符。在Windows中,消息

6、是由一个数值來表示的,不同的消息对应不同的数值。但是ill于数值不便于记忆,所以Windows将消总对应的数值定义为WM_XXX宏的形式,是WindowsMessage的缩写,XXX对应某种消息的英文拼写的大写形式。在程序中,我们通常都是以WM_XXX宏的形式来使用消息的第三、第四个成员变量wParam和IParam,用于指泄消息的附加信息owParam.IParam表示的信息随消息的不同而不同,如果想知道这两个成员变量具体表示的信息,可以在MSDN屮关于某个具体消息的说明文档查看到。在VC++开发环境下通过got。def

7、inition查看WPARAM和LPARAM这两种类型的定义,可以发现这两种类型实际匕就是unsignedint和long最后两个变量分别表示消息投递到消息队列中的时间和鼠标的当前位置2、消息队列每一个Windows应用程序开始执行后,系统都会为该程序创建一个消总队列,这个消息队列用来存放该程序创建的窗口的消息。Windows将产生的消息依次放到消息队列中,而应用程序则通过一个消息循环不断地从消息队列中取出消息,并进行响应。这种消息机制,就是Windows程序运行的机制3、进队消息和不进队消息Windows程序中的消息可以

8、分为“进队消息”和“不进队消息”。进队的消息将由系统放入到应用程序的消息队列中,然后由应用程序取出并发送。不进队的消息在系统调用窗口过程时,直接发送给窗口。不管是进队消息还是不进队消息,最终都由系统调用窗口过程函数对消息进行处理4、WinMain函数当Windows操作系统启动一个程序时,调用该程序的W

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。