




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows程序设计第一讲概述 教师 代美 主要内容 前言Windows程序概述Windows程序工作原理课程主要内容示例程序 前言 Windows操作系统是当今世界上最为流行的操作系统 刺激了开发Windows应用软件的程序员队伍不断壮大Windows操作系统同时也是一个大的函数库 其中包含了数以千计的函数 这些函数都被封装在一个接口中 这个接口就是Windows应用程序编程接口 简称WindowsAPI 前言 WindowsAPI也是认识Windows操作系统的一面镜子 通过它 用户可以深入系统地掌握Windows的方方面面 很难想象 一个程序员在没有掌握WindowsAPI的情况下 能编制出很好的基于Windows的应用程序来 学习Windows程序的意义 很多开发人员由于缺少对API函数的理解 造成无用的现象 从而阻碍了它的推广 类库和控件使应用程序的开发简单很多 但是对于比较复杂和特殊的功能 使用类库和控件使难以实现的 就需要采用API函数来实现 课程学习的主要内容 主要讲授Windows程序的工作原理 以及windows环境下基于消息机制的程序设计的思想 方法和技巧 通过具体程序讲述Windows环境下对话框及常用控件 菜单 加速键等知识 并且还讲述基于文档视图程序 DLL动态链接库等程序的设计和实现 Windows程序概述 Windows和Windows应用程序最大的优点就是用户界面的一致性 对用户的另一个好处是使用了基于图形的图标来代表应用程序和数据 Windows操作系统提供的 所见即所得 也是一个非常友好的特点 Windows操作系统还提供了多任务功能 Windows提供了开发独立于设备的图形的能力 Windows程序工作原理 Windows程序设计是一种完全不同于传统的DOS方式的程序设计方法 它是一种事件驱动方式的程序设计模式 从上面的讨论中可以看出 Windows应用程序在本质上是面向对象的 程序提供给用户界面的可视对象在程序的内部一般也是一个对象 用户对可视对象的操作通过事件驱动模式触发相应对象的可用方法 程序的运行过程就是用户的外部操作不断产生事件 这些事件又被相应的对象的过程处理 一般的程序流程如图l l所示 WindowsAPI和SDK 一 WindowsAPI它是所有Windows应用程序的根本之所在 简单地说 API就是一系列的例程 应用程序通过调用这些例程来请求操作系统完成一些低级服务 在Windows这样的图形用户界面中 应用程序的窗口 图标 菜单和对话框等就是由API来管理和维护的 WindowsAPI 1 在DOS应用程序下 可以通过getchar 等函数直接等待键盘输入 并直接向屏幕输出 2 而在Windows下 由于允许多个任务同时运行 应用程序的输入输出是由Windows来统一管理的 Windows操作系统包括3个内核基本元件 GDI KERNEL USER WindowsAPI具有两种基本类型 Winl6API和Win32API 但是Win32API除了几乎包括了Winl6API中的所有内容以外 还包括很多的其他内容 WindowsAPI依靠3个主要的核心组件提供Windows的大部分函数 在Winl6和Win32中 它们具有不同的名称 如表l一1所示 二 WindowsSDKWindowsSDK WindowsSoftwareDevelopmentKit Windows软件开发工具包 和WindowsAPI紧密联系 它是一套帮助C语言程序员创建Windows应用程序的工具 在WindowsSDK中包括了以下几个组成部分 大量的在线帮助 这些帮助描述了Windows编程所可能用到的函数 消息 结构 宏及其他资源 各种编程工具 如对话框编辑器及图像编辑器等 预习指导 认识Windows程序 首先回忆一下原先学的C语言Windows程序引入两者对比分析Windows程序 原先用c语言编写的程序 includemain printf hello world n 用WindowsSDK环境编写程序 includeintWINAPIWinMain HINSTANCEhInstance HINSTANCEhPrevInstance PSTRszCmdLine intiCmdShow MessageBox NULL TEXT Hello Windows98 TEXT HelloMsg 0 return0 分析后一个程序 Windows关于 hello world 程序的等价程序有和文字模式版本完全相同的组件 它有一个include声明 一个程序进入点 一个函数呼叫和一个return语句 分析后一个程序 传统的DOS程序以main 函数作为进入程序的初始人口点 在Windows应用程序中 main函数被WinMain函数取而代之 WinMain函数的原型如下 intWINAPIWinMain HINSTANCEhInstance 当前实例句柄 HINSTANCEhPrevInstance 前一实例句柄 LPSTRlpCmdLine 指向命令行参数的指针 intnCmdshow 窗口的显示状态 所谓的句柄是一个标识对象的变量 或者是一个对操作系统资源的间接引用 句柄是指向一个 无类型对象 Void 的指针 也就是一个4字节长的数据 其声明是这样的 typedefvoid HANDLEWindows是一个多任务操作系统 它可以同时运行多个程序或一个程序的多个副本 为了对同一程序的多个副本进行管理 Windows引入了实例句柄 Windows为每个应用程序建立一张表 实例句柄就好像是这张表的一个索引 Windows不仅使用句柄来管理实例 也用它来管理窗口 位图 字体 元文件 图标等系统资源 分析后一个程序 MessageBox函数可以建立 现实和操作消息框 这个消息框包括一个定义消息和标题 以及包括图标 按钮等附加选项 构造参数如下所示intMessageBox HWNDhWnd 指向消息对话框建立窗体句柄LPCTSTRlpText 指定显示消息内容LPCTSTRlpCaption 指定显示对话框标题UINTuType 附加参数 所有附加参数都是由MB 打头的 包括三类 1 显示按钮 MB OK MB OKCANCEL MB ABORTRETRYIGNORE MB YESNOCANCEL MB YESNO MB RETRYCANCEL 2 指定按钮默认MB DEFBUTTON1 MB DEFBUTTON2 MB DEFBUTTON3 MB DEFBUTTON4 3 指定外观图标MB ICONHAND MB ICONQUESTION MB ICONEXCLAMATION MB ICONASTERISK WindowsAPI程序的开发步骤 首先 从File菜单中选New 在New对话框中 单击Projects页面标签 选择Win32Application 在Location栏中 选择一个子目录 在ProjectName栏中 输入该项目的名称 此时该名称是HelloMsg CreateNewWorkspace复选框应该勾起来 Platforms部分应该显示Win32 选择OK 将会出现一个标题为Win32Application Step1Of1的对话框 指出要建立一个EmptyProject 并按下Finish按钮 从File菜单中再次选择New 在New对话框中 选择Files页面标签 选择C SourceFile AddToProject复选框应被选中 并应显示HelloMsg 在FileName栏中输入HelloMsg c 选中OK 一些建议 首先需要明确一点WindowsAPI不是开发Windows的唯一方法 下面是我对于开发Windows应用程序的语言选择简单分类 1 对于开发效率要求非常高 功能非常强大的程序建议考虑使用C语言和WindowsAPIs开发Win32API应用程序 2 对于一些要求效率高的 专业商业应用程序建议考试使用通过C 封装过的WindowsAPIs开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 憩室手术对生育的影响-洞察及研究
- Olivanic-acid-生命科学试剂-MCE
- 良好心态培训课件
- 消防证培训知识课件
- 红外抑制性能优化-洞察及研究
- 运营课程培训课件制作
- 论语十二则课件
- 消防经理知识培训总结报告课件
- 许昌消防知识培训方案课件
- 食源性培训资料课件
- 2025年浙江省中考社会试题卷(含答案)
- 2025年公需课考试题库(附答案)
- 农资货运运输管理办法
- 2025至2030全球及中国过敏原提取物行业产业运行态势及投资规划深度研究报告
- 2025至2030中国公路养护行业项目调研及市场前景预测评估报告
- 人教版九年级上册历史期末复习知识点考点背诵提纲详细版
- 护理人员行为规范
- 2025版安全生产法全文
- 2025年中国护腰垫数据监测报告
- 2025年中远海运集团招聘笔试备考题库(带答案详解)
- 新教师职业素养提升培训
评论
0/150
提交评论