Programming Windows - Charles Petzold

Programming Windows

Charles Petzold

出版时间

1998-11-18

ISBN

9781572319950

评分

★★★★★
AI导读
核心看点
  • 详解Windows消息机制与窗口过程原理
  • 深入剖析GDI图形设备接口与绘图技术
  • 系统阐述Win32 API底层编程核心概念
适合谁读
  • 希望深入理解Windows底层机制的开发者
  • 从事C++及Win32 API编程的工程师
  • 需要补全系统编程基础知识的计算机学生
读前提醒
  • 建议优先阅读上册以掌握核心编程概念
  • 部分API设计陈旧,需结合现代框架理解
  • 中文版存在翻译错误,建议对照英文原版
读者共识
  • 被誉为Windows编程领域的经典圣经之作
  • 对句柄和设备上下文等概念讲解极为透彻
  • 虽内容略显老旧,但仍是入门必读基石

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "当windows程序开始执行时,windows首先会为该程序创建一个“消息队列”。该消息队列存放着应用程序可能创建的所有窗口消息。windows应用程序中一般都包含一小段为“消息循环”的代码,该段代码用于从消息队列中检索消息,并将其分发给相应的窗口过程(窗口回调函数)。其他消息则不经过消息队列直接发送给窗口过程。"
  • "客户区是一块应用程序可以自由绘图并向用户传达可视输出的区域。"
  • "真正有意义的东西发生在窗口过程中,正是窗口过程决定了窗口客户区的显示内容以及窗口如何对用户的输入做出响应。 应用程序通常不对窗口过程直接调用。窗口过程几乎总是由windows自身调用的。应用程序如果希望调用自身的窗口过程,可以使用SendMessage。"
  • "在windows中,窗口所发生的一切都通过消息的形式传递给窗口过程。 队列消息是指那些由windows放入程序的消息队列中的消息。在程序的消息循环中,消息被检索,然后投递到窗口过程中。非队列消息则是由windows窗口过程的直接调用产生的。队列消息主要由用户的输入产生,主要形式为按键信息。非队列消息包括队列消息以外的其他所有信息。通常由调用特定的windows函数引起。 从窗口过程的视角看,这些消息以有序,同步的方式来到的。在窗口过程处理某消息的过程中,程序不会被其他的消息突然中断。 虽然windows可以执行多线程。但是每个线程的消息队列仅为那些其窗口过程在该线程内执行的窗口进行消息处理,换"
  • "GDI的主要目的就是支持与设备无关的图形。windows程序应当毫无问题地在windows所支持的任何图形设备上输出。GDI提供了一些特殊的机制来彻底隔离应用程序和不同输出设备的特性。"
  • "图形输出设备分为两大类:光栅设备和矢量设备。大多数的PC输出设备是光栅设备,这也就意味着它们将图像表示成以点的形式构成的矩阵。该类输出设备有视频显示适配器,点阵打印机,激光打印机。矢量设备则使用线条来绘制图像。 GDI总体来说只是一个静态显示系统,对动画的支持很有限。如果是复杂动画,就用DirectX。"
  • "1.线条和曲线--------GDI支持直线,矩形,椭圆等 2.可被填充的封闭区域----------当一系列线条构成封闭区域时,可以使用画刷填充这个区域。 3.位图-------是一个二维的位数组,每个元素都对应显示设备上的一个像素 4.文本"
  • "映射模式和转换。图元文件是一个以二进制形式存储的GDI命令集合 设备环境包含了许多决定GDI函数如何工作的属性。这些属性使得GDI只需要提供少量参数(如起始坐标),而不需要提供windows在设备上显示对象时需要的所有信息。"
用户评论
读了前六章,了解了windows编程的基本机制
fundamental guide to windows programing and API
纯WINAPI.
圣经
GUI在当年也是很轰动的新技术了...
😭
号称Windows编程圣经,也是本人通读的一本书。
已经一点都不记得了
收藏