- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 Windows 程序分析 建议学时:2 学习重点:理解Windows程序的结构 掌握消息及消息映射机制 本章内容 3.1 Windows程序基本概念 3.1.1 API和SDK Windows操作系统提供了各种各样的函数,以方便开发Windows应用程序。这些函数是Windows操作系统提供给应用程序编程的接口(Application Programming Interface,API),简称为API函数。 SDK的全称是Software Development Kit,中文译为软件开发包,SDK实际上就是开发所需资源的一个集合。 3.1 Windows程序基本概念 3.1.2 窗口和句柄 窗口是Windows应用程序中一个非常重要的元素,一个Windows应用程序至少要有一个窗口,称为主窗口。窗口是屏幕上的一块矩形区域,是应用程序与用户进行交互的接口。 一个应用程序窗口通常都包含标题栏、菜单栏、系统菜单、最小化框、最大化框、可调边框,有的还有滚动条 在Windows环境中,句柄是用来标识项目的,这些项目包括:模块(module)、任务(task)、实例(instance)、文件(file)、内存块(block of memory)、菜单(menu)、控制(control)、字体(font)、 资源(resource)和GDI对象(GDI object)等。 3.1 Windows程序基本概念 3.1.2 窗口和句柄 句柄是一个标识符,它就像人的身份证号一样,每个人都会有一个,不同的人的身份证号不一样。应用程序几乎总是通过调用一个Windows函数来获得一个句柄,之后其它的Windows函数就可以使用该句柄,以引用相应的对象。 3.2 Windows程序基本结构 3.2.1 程序框架分析 _tWinMain 是函数的入口点,该函数的主要任务是完成一些初始化的工作和维护了一个消息循环。程序中有很多的注释,解释了相关语句和函数的意义,在这里就不做重复叙述,重点介绍程序的总体结构和工作流程,便于读者从总体上把握Windows程序结构。 3.2 Windows程序基本结构 3.2.1 程序框架分析 工作流程如下:入口“_tWinMain”?“MyRegisterClass”?“InitInstance”?“while消息循环”。函数由入口开始执行,之后调用 MyRegisterClass注册窗口类,之后InitInstance 生成并显示窗口,这样之后,就完成了一个窗口的初始化工作了(当然,在 MyRegisterClass,InitInstance 中都需要调用相应的API函数来具体的实现,不过这里重点分析的是它的结构,所以不考虑它的具体实现细节),然后就是维护消息循环。至此,这个程序的基本结构就基本建立了,程序的运作依靠这个消息循环来推动。 3.2 Windows程序基本结构 3.2.2 MFC程序框架分析 单文档程序从CWinApp、CDocument、CView、CMainFrame类对应地派生出CTestApp、CTestDoc、CTestView、CFrameWnd四个类,这四个类的实例分别是应用程序对象、文档对象、视图对象、主框架窗口对象 3.2 Windows程序基本结构 3.2.2 MFC程序框架分析 首先,定义了一个全局变量theApp,它代表了整个程序的存在,然后程序开始进入入口点。AfxWinMain就是这个程序的入口点,就好像第一次看到C语言中的main函数一样。在AfxWinMain中分别调用了一些类的成员函数,仿照前面的分析方法,也可以画出一个程序执行路径图。入口点“AfxWinMain”?“AfxGetThread”?“AfxGetApp”?“AfxWinInit”? “pApp-InitApplication”? “pThread-InitInstance”? “pThread-Run”。 3.2 Windows程序基本结构 3.2.2 MFC程序框架分析 3.2 Windows程序基本结构 3.2.2 MFC程序框架分析 命令类CCmdTarget是CObject的子类,它是MFC库中所有具有消息映射属性的类的公共基类。从CCmdTarget派生的类能在程序运行时动态创建对象和处理命令消息。 应用程序类CWinApp是CWinThread的子类,封装了初始化、运行、终止应用程序的代码。可以由此派生自己的应用类。 3.2 Windows程序基本结构 3.2.2 MFC程序框架分析 窗口类CWnd提供了MFC中所有窗口类的基本功能。从CWnd派生的类可以拥有自己的窗口,并对它进行控制。CFrameWnd类是CWnd类的派生类。它是所有其它框架窗口类的基类,主要用来
您可能关注的文档
- 第2章软件工程方法与工具.ppt
- 第2章运算方法和运算器74181.ppt
- 第2章量和单位制g.ppt
- 第2节2课时农业地域类型.ppt
- 第2讲VRay渲染器设置.ppt
- 第2讲医学伦理学的主要观点和基本理论.ppt
- 第2讲:物理层故障诊断与排除.ppt
- 第2课大统一与秦朝中央集权制度的确立.ppt
- 第2课扬起自信的风帆自信是成功的基石.ppt
- 第2课时词语(成语)的理解与运用.ppt
- 《紫藤萝瀑布》教学设计(通用).pptx
- 《爱心捐款主题班会》PPT课件.pptx
- 《父亲的菜园》教案与课件教学展示.pptx
- 龙工(上海)机械制造有限公司招聘193人高频考题难、易错点模拟试题(共100题)附带答案题库(基础题.docx
- 《理想》教学教案优秀PPT大纲.pptx
- 《燕歌行》高适_原创精品文档.pptx
- 龙工(上海)机械制造有限公司2024年校园招聘62人【重点基础提升】模拟试题(共100题)附带答案王.docx
- 龙工(上海)机械制造有限公司内部使用应届高校毕业生招聘重点基础提升模拟试题(共100题)附带答案真题.docx
- 龙工(上海)机械制造有限公司2024春季招聘24人高频100题难、易错点模拟试题附带答案王牌题库附参.docx
- 龙工(上海)机械制造有限公司完整版招聘3人历年(高频重点提升专题训练)共100题附带答案大全及答案【.docx
文档评论(0)