欢迎来到天天文库
浏览记录
ID:41104060
大小:248.96 KB
页数:21页
时间:2019-08-16
《Windows程序运行原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows编程基础基本内容Windows程序运行机制事件驱动的概念WindowsAPI窗口的概念消息句柄应用程序举例输入数据1开始输入数据2输入数据3处理结束过程驱动程序模型事件驱动程序模型开始取事件并处理退出?停止发送事件输入界面1输入界面2输入界面3Windows事件驱动原理消息队列处理消息取消息应用程序Windows键盘消息鼠标消息其他消息事件驱动的概念Windows编程使用事件驱动的程序设计思想。程序的控制流程是由实际运行时各种事件的实际发生来触发,可能是随机的、不确定的,并没有预定的顺序。事件驱动程序设计是一种“被动
2、式”的程序设计方法,程序开始运行时,处于等待消息的状态,然后取得消息并对其作出响应,处理完毕后又回到原来的等待状态。事件可以由系统产生、硬件设备产生或用户产生。事件驱动编程方法对于编写交互式程序很有用处,用这一方法编写的程序使程序避免了死板的操作模式,从而使用户能够按照自己的意愿采用灵活多变的操作形式。应用程序,操作系统和硬件之间的相互关系应用程序消息队列操作系统输入输出设备1234WindowsAPI窗口管理函数(USER32.DLL)图形设备(GDI)函数(GDI32.DLL)系统服务函数(KERNEL32.DLL)操作系统所
3、能够完成的每一个特殊功能通常都有一个函数与其对应,也就是说,操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应用程序编程的接口(ApplicationProgrammingInterface),简称WindowsAPI。窗口窗口是Windows应用程序的基本操作单元,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位。作为对象,用户会在屏幕上看到这些窗口,可以通过键盘和鼠标直接和它们进行交互操作。编写Windows应用
4、程序首先要创建一个或多个窗口,程序的运行过程即是窗口内部、窗口之间以及窗口与系统之间的数据交换和数据处理过程。消息消息是描述事件发生的信息。消息不仅仅可以由键盘、鼠标产生,它也可以由应用程序本身产生,也可由运行的其它应用程序产生,还可由Windows或用户产生。每当事件发生时,Windows就会将相应的消息发送到相关的应用程序中去。消息是独立于编程语言的,除VisualC++外,还可以使用不同的语言如VB、Delphi、PowerBuilder等来编写Windows程序,消息可以在这些程序之间方便的传送。Windows应用程序利用
5、Windows消息(Message)与其他的Windows应用程序及Windows系统进行信息交换。消息投递模式消息接收、响应方式输入转换为消息,并放入系统消息队列中Windows删除系统消息队列中的消息,并进行检查,以确定目标窗口Windows将消息从系统消息队列发送到目标窗口的消息队列窗口从窗口消息队列中删除一条消息窗口将这条消息发送给Windows,请求Windows将该消息传送给当前实例的消息处理函数Windows调用窗口的当前实例的消息处理函数系统定义的消息宏前缀:BM表示按钮控制消息。CB表示组合框控制消息DM表示默认
6、下压式按钮控制消息EM表示编辑控制消息LB表示列表框控制消息SBM表示滚动条控制消息WM表示窗口消息Windows应用程序常用消息鼠标响应消息键盘响应消息WM_CHARWM_CREATEWM_CLOSEWM_DESTROYWM_QUITWM_PAINTWM_COMMAND鼠标响应消息WM_LBUTTONDOWNWM-LBUTTONUPWM-RBUTTONDOWNWM-RBUTTONUPWM-LBUTTONDBLCLKWM-RBUTTONDBLCLK附加消息参数wParam包含一个整数值,该指标识鼠标键按下的状态。长参数1Parar
7、m的低字节包含当前光标的X坐标,高字节包含当前光标的Y坐标键盘响应消息键盘响应消息WM_KEYDOWN:按下非系统键WM_KEYUP:放开非系统键wParam:按下键的虚拟键码1Param:记录按键的重复次数,扫描码、转义代码、先前键的状态等系统键是指实现系统操作的组合键,例如Alt键与某个功能键的组合以实现系统菜单的操作等。虚拟键码用以标识按下或释放的键,例如功能键F1的虚拟键码在Windows.h文件中定义为VK-Fl.句柄句柄(handle)是整个Windows编程的基础。一个句柄是指Windows使用的一个唯一的整数值,是
8、一个4字节长(32位)的数值,用于标识应用程序中不同的对象和同类对象中不同的实例。句柄对应于Windows为应用程序分配的一个具体的资源。通过句柄能够访问相应的对象信息。句柄常作为Windows消息和API函数的参数,在应用API方法编写Windo
此文档下载收益归作者所有