11 Windows 程序运行原理(消息循环和响应) .docxVIP

11 Windows 程序运行原理(消息循环和响应) .docx

  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文档。上传文档
查看更多
本文格式为Word版,下载可任意编辑 — PAGE \* Arabic 1 — 11 Windows 程序运行原理(消息循环和响应) 1.1 Windows 程序运行原理(消息循环和响应) ************************************************* * 本文由小鸟飞飞整理发表 samboy@ * * 首发网站:蓝丽网 * * 其他网站转载请保存以上信息,感谢! * ************************************************* Windows 的工作方式: 全面地探讨 Windows 的内部工作机制将需要整整一本书的容量,没有必要深入了解所有的技术细节。但是对于windows程序运行的一些根本性的概念,是一个Visual C++程序员所必需把握的知识。 一,Windows应用程序,操作系统,计算机硬件之间的相互关系。 (原稿这里是一张 图,蓝丽不能贴图,改为文字表达,也不知道能不能说明白) 输入设备-产生事件-操作系统-发生消息-应 用程序-调用API-输出设备 操控制输入设备(如键盘、鼠标)时,操作系统能够感知输入设备状态的变化,然后通 知输出设备执行特定的功能。Windows程序主要是由消息和事件进行驱动,所以做好Windows程序必需要明白消息和事件的运行,这一点在以后的文章 中会详细介绍。 操作系统和计算机硬件直接进行交互,应用程序开发者寻常不需知道其具体实现细节。当应用程序需要和硬件进行交互时只需使用操作 系统提供的API即可。 1.关于API 这里提到一个十分重要的概念:API 应用程序可以通知操作系统执 行某个具体的动作,如操作系统能够控制声卡发出声音,但其并不知道何时发出何种声音,得由应用程序告诉操作系统该发出什么样的声音。在应用程序中要完成某个功能,都是以函数调用的形式实现的,应用程序也是以函数调用的方式来通知操作系统执行相应功能的,操作系统所能够完成的每一个特别功能寻常都有一个函数 与其对应,也就是说,操作系统把它所能完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用叫系统调用,这些函数的集合是Windows 操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API。如 CreateWindow就是一个API函数,应用程序中调用这个函数,操作系统就会依照该函数提供的参数信息产生一个相应的窗口。关于这个函 数的详细解释,请参阅MSDN(微软开发编程的开发系统)。 顺便提一下,对于一个真正的程序员来说,不可能死记硬背每一个API函数 及其各参数的详细信息。寻常都是只记住其英文拼写,有时甚至是靠着语意拼读出来的,如显示窗口用ShowWindow,退出Windows操作系统用 ExitWindows等等,API函数的正确拼写格式及各参数的详尽信息都是在MSDN迅速检索到的,没必要刻意去死记这些信息,等用的次数多了,这些 信息也就在不知不觉中把握了,但一定要具备在需要的时候能够从帮助系统中检索想要的信息的能力,这样就能做到事半功倍。学习VC++,一定要有一套真实的 练习环境,学会查阅帮助系统,决不能纸上谈兵,照着书本亦步亦趋,否则就真的是没有一两年的时间, 是学不好VC++的了。 注意:请不 要将这里的API与java API以及其他API混淆。API正如其语义一样,已成为一种被广泛使用的专业术语。假使某个系统或某个设备提供给某种应用程序对其进行编程操作的函数, 类,组件等的集合,就称作该系统的API。 2.关于消息和事件 Windows程序是事件驱动的,所谓事件就是应用程 序做了什么事情或是程序用户通过输入设备做了哪些事情(譬如移动鼠标)。 操作系统能够将输入设备的变化上传给应用程序。如用户在某个程序活动 时按了一下键盘,操作系统马上能够感知到这一事件,并且能够知道用户按下的是哪一个键,操作系统并不决定对这一事件如何做出反应,而是将这一事件转交给应 用程序,由应用程序决定如何对这一事件做出反应。对事件做出反应的过程就是消息响应。 操作系统是怎样将感知到的事件传递给应用程序的 呢?这是通过消息机制来实现的。操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序的,参看MSDN,MSG结构定义如下: typedef s

文档评论(0)

131****5798 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档