Windows程序运行原理

上传人:宝路 文档编号:48095081 上传时间:2018-07-09 格式:PPT 页数:21 大小:122.46KB
返回 下载 相关 举报
Windows程序运行原理_第1页
第1页 / 共21页
Windows程序运行原理_第2页
第2页 / 共21页
Windows程序运行原理_第3页
第3页 / 共21页
Windows程序运行原理_第4页
第4页 / 共21页
Windows程序运行原理_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《Windows程序运行原理》由会员分享,可在线阅读,更多相关《Windows程序运行原理(21页珍藏版)》请在金锄头文库上搜索。

1、Windows编程基础 基本内容nWindows程序运行机制n事件驱动的概念 nWindows API n窗口的概念 n消息 n句柄 n应用程序举例输入数据1开 始输入数据2输入数据3处 理结 束过程驱动程序模型 事件驱动程序模型开 始取事件并处理退 出?停 止发送事件输入界面1输入界面2输入界面3Windows事件驱动原理消 息 队 列处理消息取消息应用程序Windows 键盘消息鼠标消息其他消息事件驱动的概念nWindows编程使用事件驱动的程序设计思想。程序的 控制流程是由实际运行时各种事件的实际发生来触发 ,可能是随机的、不确定的,并没有预定的顺序。 n事件驱动程序设计是一种“被动式”

2、的程序设计方法 ,程序开始运行时,处于等待消息的状态,然后取得 消息并对其作出响应,处理完毕后又回到原来的等待 状态。n事件可以由系统产生、硬件设备产生或用户产生。 n事件驱动编程方法对于编写交互式程序很有用处,用 这一方法编写的程序使程序避免了死板的操作模式, 从而使用户能够按照自己的意愿采用灵活多变的操作 形式。应用程序,操作系统和硬件之间的相互关系应用程序消息队列操作系统输入输出设备1234Windows APIn窗口管理函数(USER32.DLL) n图形设备(GDI)函数(GDI32.DLL ) n系统服务函数(KERNEL32.DLL) 操作系统所能够完成的每一个特殊功能通常都有一

3、个函 数与其对应,也就是说,操作系统把它所能够完成的功能以 函数的形式提供给应用程序使用,应用程序对这些函数的调 用就叫做系统调用,这些函数的集合就是Windows操作系统提 供给应用程序编程的接口(Application Programming Interface),简称Windows API。 窗口n窗口是Windows应用程序的基本操作单元,是应 用程序与用户之间交互的接口环境,也是系统 管理应用程序的基本单位。n作为对象,用户会在屏幕上看到这些窗口,可 以通过键盘和鼠标直接和它们进行交互操作。 编写Windows应用程序首先要创建一个或多个窗 口,程序的运行过程即是窗口内部、窗口之间

4、以及窗口与系统之间的数据交换和数据处理过 程。消息n消息是描述事件发生的信息。消息不仅仅可以由键盘 、鼠标产生,它也可以由应用程序本身产生,也可由 运行的其它应用程序产生,还可由Windows或用户产 生。每当事件发生时,Windows就会将相应的消息发 送到相关的应用程序中去。n消息是独立于编程语言的,除Visual C+外,还可以 使用不同的语言如VB、Delphi、Power Builder等来编 写Windows程序,消息可以在这些程序之间方便的传 送。nWindows应用程序利用Windows消息(Message)与其 他的Windows应用程序及Windows系统进行信息交换 。消

5、息投递模式消息接收、响应方式输 入转换为消息,并放入系统消息队列中 Windows删除系统消息队列中的消 息,并进行检查,以确定目标窗口 Windows将消息从系统消息队列发送 到目标窗口的消息队列 窗口从窗口消息队列中删除一条消息 窗口将这条消息发送给Windows, 请求Windows将该消息传送给 当前实例的消息处理函数 Windows调用窗口的当前实例的 消息处理函数 系统统定义义的消息宏前缀缀: nBM表示按钮控制消息。 nCB表示组合框控制消息 nDM表示默认下压式按钮控制消息 nEM表示编辑控制消息 nLB表示列表框控制消息 nSBM表示滚动条控制消息 nWM表示窗口消息 Win

6、dows应用程序常用消息 n鼠标响应消息 n键盘响应消息 nWM_CHAR nWM_CREATE nWM_CLOSE nWM_DESTROY nWM_QUIT nWM_PAINT nWM_COMMAND 鼠标响应消息 nWM_LBUTTONDOWN nWM-LBUTTONUP nWM-RBUTTONDOWN nWM-RBUTTONUP nWM-LBUTTONDBLCLK nWM-RBUTTONDBLCLK 附加消息参数wParam包含一个整数值,该指标识鼠 标键按下的状态。长参数1Pararm的低字节包含当前 光标的X坐标,高字节包含当前光标的Y坐标 键盘响应消息 n键盘响应消息WM_KEYD

7、OWN:按下非系统键WM_KEYUP: 放开非系统键 wParam:按下键的虚拟键码1Param:记录按键的重复次数,扫描码、转义代码、先前键的状态等 n系统键是指实现系统操作的组合键,例如Alt键与某个功能 键的组合以实现系统菜单的操作等。n虚拟键码用以标识按下或释放的键,例如功能键F1的虚拟 键码在Windows.h文件中定义为VK-Fl. 句柄 n句柄(handle)是整个Windows编程的基础。一个句柄 是指Windows使用的一个唯一的整数值,是一个4字节长 (32位)的数值,用于标识应用程序中不同的对象和同 类对象中不同的实例 。n句柄对应于Windows为应用程序分配的一个具体

8、的资源 。通过句柄能够访问相应的对象信息。n句柄常作为Windows消息和API函数的参数,在应用API 方法编写Windows应用程序程序时要经常同句柄打交道 ,而应用MFC方法编写Windows应用程序时,派生类的对 象已经包含了具体句柄的信息,所以大都不再需要访问 句柄。 数据类型 WORD 16-bit unsigned integer DWORD 32-bit unsigned integer HANDLE Handle to an object WPARAM Message parameter (unsigned int) COLORREF Red, green, blue (RG

9、B) color value (32 bits) LPCSTR Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters LPSTR Pointer to a constant null-terminated string of 16-bit Unicode characters LRESULT Signed result of message processing(Long)窗口过程或回调 函数的32位返回值 WNDPROC 指向窗口过程的32位指针(long (_stdcall*)(voi

10、d*, unsigned int, unsigned int,long).) 窗口的创建 创建一个完整的窗口需要经过下面四个 操作步骤:n设计一个窗口类;n注册窗口类;n创建窗口;n显示及更新窗口。Windows程序的运行原理typedef struct tagMSG HWND hwnd; UINT message;WPARAM wParam; LPARAM lParam;DWORD time;POINT pt; MSG, *PMSG; hwnd Handle to the window whose window procedure receives the message. message

11、Specifies the message identifier. Applications can only use the low word; the high word is reserved by the system. wParam Specifies additional information about the message. The exact meaning depends on the value of the message member. lParam Specifies additional information about the message. The exact meaning depends on the value of the message member. time Specifies the time at which the message was posted. pt Specifies the cursor position, in screen coordinates, when the message was posted.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号