- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
windos程序设计第一章讲义
第一章
这节课我们主要讲解WINDOWS的内部运行原理 ,要了解VISUAL C++程序 的开发过程 ,先要理解WINDOWS应用程序的运行机制,因为VISUAL C++是WINDOWS开发语言,我们要明白在WINDOWS环境下编程和在其他环境下一些根本的差别,全面讨论WINDOWS工作原理需要一本书的内容,我们没了解那么细,但还是要了解一些根本的概念原理。
一.Windows应用程序,操作系统,计算机硬件之间的相互关系
Windows程序设计是完全不同于传统的 DOS系统的设计方法,它采取事件驱动的机制的程序设计模式,主要是基于消息的 。当用户要实现某种功能时 ,会调用操作系统的某种支持,然后操作系统将用户的需要包装成消息,并投递到消息队列中,最后应用程序从消息队列中取走消息并进行响应。
向下的箭头①③④表示操作系统能够操作输出设备以执行特定的功能,如让声卡发出声音,显卡画出图形等。向上的箭头②表示操作系统能够感知输出设备状态的变化,如鼠标移动,键盘按下,并能够知道鼠标移动的位置,键盘按下的哪个键,这就是操作系统和计算机硬件的交互关系。应用程序开发者通常不需要知道其具体的实现细节,我们关心的是应用程序与操作系统的交互关系。
向下的箭头③表示应用程序可以通知操作系统执行某个具体的动作,如操作系统能够控制声卡发出声音,但它并不知道应该何时发出何种声音,需要应用程序告诉操作系统该发出什么样的声音。这个关系好比有个机器人能够完成行走的功能,但是,如果人们不告诉它往哪个方向上走,机器人是不会主动行走的。这里的机器人就是操作系统,人们就是应用程序
那么,应用程序是如何通知操作系统执行某个功能的呢?有过编程经验的读者都应该知道,在应用程序中要完成某个功能,都是以函数调用的形式实现的,同样,应用程序也是以函数调用的方式来通知操作系统执行相应的功能的。操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应,也就是说,操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API。如CreateWindow就是一个API函数,应用程序中调用这个函数,操作系统就会按照该函数提供的参数信息产生一个相应的窗口。
在这里注意:我们不要把API与JAVA或其他的API混淆。API是一个已经被广泛使用的专业术语,如果说某个系统某个设备提供给应用程序对其进行编程操作的函数,类,组件等的集合。如做呼叫购买语音卡,提供一个开发包,开发包的函数集合称为语音卡的API。
向上的箭头④表示操作系统能够将输入设备的变化上传给应用程序。如用户在某个程序活动时按了一下键盘,操作系统马上能够感知到这一事件,并且能够知道用户按下的是哪一个键,操作系统并不决定对这一事件如何作出反应,而是将这一事件转交给应用程序,由应用程序决定如何对这一事件作出反应。好比有个蚊子叮了我们一口,我们的神经末梢(相当于操作系统)马上感知到这一事件,并传递给了我们的大脑(相当于应用程序),我们的大脑最终决定如何对这一事件作出反应,如将蚊子赶走,或是将蚊子拍死。对事件作出反应的过程就是消息响应。
2.关于消息及消息队列
操作系统是怎样将感知到的事件传递给应用程序的呢?这是通过消息机制(Message)来实现的。操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序,参看MSDN。
MSG结构定义如下:
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
解释:
(MSDN是微软提供的程序开发的在线帮助系统,这个系统包括了微软的所有开发语言开发工具的帮助文件,信息很全每年发布4次,一个季度一次。)
参数1 HWND hwnd; 解释:handle to window
新的数据类型,指示窗口的句柄,何谓窗口?屏幕上的一块矩形区域叫窗口,我们通常的开发的应用程序叫窗口程序,如VISUAL C++由许多窗口构成,每个窗口又要起标识,当你去定义一个变量来存储这些标识时,你需要有存储定义这些标识的类型来定义变量,像定义整形变量存放整型数据,定义浮点类型变量存放浮点型数据,要存放窗口标识,需要有窗口句柄来定义这样的变量。
句柄句柄(HANDLE),资源的标识。
操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源。句
您可能关注的文档
- Unit Topic 2 Secion C 第2课时 (总第6课时).ppt
- unit success and happiness.ppt
- Unit (Book 1) 修改定稿.ppt
- Unit —The Road to Success 教案.doc
- Unit1 Lesson 1 EQ-IQ.ppt
- Unit1 Congratulation.ppt
- unit1an you come to my party七年级下册第一单元听力稿.doc
- unit2cope of freight forwarding service.ppt
- unit11-2(新模式英语2).doc
- Unit2攻击技术分析.ppt
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)