Windows程序运行原理课件.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows程序运行原理课件

Windows程序内部运行原理 ;Windows应用程序,操作系统,计算机硬件之间的相互交互关系 ;关于API;关于API ;关于消息及消息队列;关于消息及消息队列 ;关于句柄 ;深入理解Windows消息机制;Windows消息分为4类:输入消息、控制消息、系统消息和用户消息。 消息可以由系统或应用程序产生。 产生消息的来源可以大致分为4类: ① 用户产生消息; ② Windows本身产生消息; ③ 应用程序本身产生消息; ④ 其他应用程序产生消息。;Windows的消息机制与工作原理 1.Windows消息结构 一个消息包含一个消息名称(UINT)和两个参数(WPARAM,LPARAM)。当用户进行了输入或窗口的状态发生改变时,系统都会发送消息到某一个窗口。 2.Windows消息标识符的分类和数值范围 系统保留消息标识符的值在0x0000~0x03ff(WM_USER-1)范围内,这些值被系统定义消息使用,应用程序不能给自己的消息使用这些值。;Windows中的消息虽然很多,但是种类并不繁杂,大体上有3种:窗口消息、命令消息和控件通知消息。 ① 窗口消息。它是指由操作系统和控制其他窗口的窗口所使用的消息 ② 命令消息。这是一种特殊的窗口消息,它用来处理从一个窗口发送到另一个窗口的用户请求,例如,按下一个按钮,它就会向主窗口发送一个命令消息。 ③ 控件通知消息。它是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父窗口。 ;消息的工作机制 (1)消息类型 从消息的发送途径来看,消息可以分成两种:队列消息和非队列消息。 (2)消息队列 Windows系统有一个存放所有消息的队列,称为系统消息队列。而每个应用程序也有一个属于自己的消息队列。 ;(3)消息发送 一般来讲,系统总是将消息发送(PostMessage)到消息队列的末尾,这样可以保证窗口以先进先出的顺序接收消息。然而,WM_PAINT是一个例外,同一个窗口的多个WM_PAINT被合并成一个WM_PAINT消息,合并WM_PAIN的目的是为了减少刷新窗口的次数。 非队列消息将会绕过系统队列和消息队列,直接将消息发送到窗口过程。 还可用SendMessage, DispathMessage函数完成消息发送 ;(4)消息接收 消息的接收主要有3个函数:GetMessage、PeekMessage 和WaitMessage。 1.GetMessage函数的原型如下: BOOL GetMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax); 2.PeekMessage函数的原型如下: BOOL PeekMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg); 3.WaitMessage函数的原型如下: BOOL WaitMessage();;(5)消息处理 通常每个Windows应用程序至少对应一个窗口,每个窗口都要有一个窗口函数负责处理该窗口内所发生的事件。 窗口消息处理过程具有4个参数: HWND型 窗口句柄 UINT型 消息内容 WPARAM型 附加信息 LPARAM型 附加信息;1、消息本身:不同消息代表的用户操作和程序状态 2、对于一个特定的消息,要让操作系统要执行特定的功能去响应这个消息,;WinMain函数 ;窗口的创建 ;Windows提供的窗口类;窗口类的类型;窗口过程函数;在WinMain中定义WNDCLASS;窗口类注册;创建窗口:;HWND hwnd; hwnd=CreateWindow(软件工程, 江西农业大学,WS_OVERLAPPEDWINDOW, 0,0,600,400,NULL,NULL,hInstance,NULL); 注:WS_OVERLAPPEDWINDOW 被用来定义一个窗口样式,即通常我们使用的windows窗口样式。 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_SYSM

文档评论(0)

gm8099 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档