本书通过一系列短文来讲解windows基本原理,例如:窗口和对话框的管理机制,如何设计像自动售货机那样有效的用户界面,对性能优化的理解,向后兼容的关键技术细节,Windows程序的安全漏洞,如何使程序更好地在Windows系统中运行等。本书不仅讲解Windows幕后的许多故事、宝贵的技术建议,还包括了许多启发性的轶事,这些都将帮助读者最大程度地理解Windows。\r\n 本书适合于软件开发人员,或对Windows的发展历史有兴趣的读者。
第1章 用户界面设计初探\r\n第2章 Windows 95 的精选回忆录\r\n第3章 GetWindowText的秘密\r\n第4章 任务栏与通知区域\r\n第5章 令人困惑的界面问题\r\n第6章 GLOBALALLOC函数的历史\r\n第7章 Windows编程中的一些话题\r\n第8章 窗口管理\r\n第9章 关于硬件的回忆录\r\n第10章 对话框管理器的内部工作机制\r\n第11章 常见的软件问题\r\n第12章 深入研究Visual C++编译器\r\n第13章 向后兼容性\r\n第14章 一些名字的来源和历史\r\n第15章 窗口消息的发送与接收\r\n第16章 国际化编程\r\n第17章 安全\r\n第18章 Windows 2000和Windows XP\r\n第19章 Win32中的设计问题\r\n第20章 “税收”\r\n第21章 一些可笑的故事
Raymond Chen是微软公司Windows部门的一位软件工程师,他的博客“The Old New Thing”主要讨论Windows的发展历史以及Win32编程。他还为TechNet杂志撰写Windows Confidential专栏。
在一些技术书籍中,许多的笔墨都是着重于描述“如何”使用Windows以及“如何”在Windows上开发软件,但是很少有作者会去探究“为什么”。有些事情初看上去是不可思议的,但却经常有着完全合理的和符合逻辑的解释,这些都反映出了在微软的Windows操作系统中所蕴涵的历史背景,发展趋势以及基本原理。在本书所给出的知识中,主要的目的并不是为了告诉你如何去做(虽然这方面的内容有很多),而更多的是帮助你理解为什么事情发展成为现在这样。因此,在你知道了Windows的历史背景和基本原理之后,你就能够成为一名更为高效的Windows程序员。
本书中所讲述的重点是隐藏在Windows背后的基本理论。本书既不是一本参考手册,也不是一本指南,而是一本“真实的历史”。本书通过一系列简短的并且基本上是相互独立的短文,来为你给出对Windows基本原理的正确认识,它采用的是一种谈话的方式而并非说教的方式。因此,你可以自由地跳到自己感兴趣的(或者某个专门技术的)主题。本书根据所讨论问题的共性对这些短文进行了分组,并且当我们对某个主题研究得很深入时,将会把这个主题分成几个小节连续的来讨论,这也是一种有效的教学方式;不过,即使是在这种情况下,这个主题仍然是不会超过整个章节的讨论范围。
作家兼评论员David Sedaris经常被问到,他所讲的故事是否是真实的。他的回答是,这些故事是“足够真实的”。就像David Sedaris的故事一样,在本书中的内容同样也是“足够真实的”。我们要将注意力是放在大的方向上,而不要拘泥于小节;要重点突出单个要点,而不是吹毛求疵。在本书中,我们将重点强调关键的细节,而那些不重要的东西将被搁置起来。而且,即使有一些内容可能会令人感兴趣,但如果与正在讨论的主题没多大关系,那么也将会忽略掉。
本书所面向的读者应该是对技术有所了解,并且对Windows的历史有着一定的兴趣。在本书中,大约有一半的主题并不需要编程的背景知识;在剩下的一半主题中,大多数也只需要读者有基本的软件设计和软件开发的知识就够了,而并没有什么特别深奥的东西。那些与Windows编程相关的专门主题则需要读者熟悉Win32用户界面编程和COM。在后面,我们根据非程序员和对Win32没有特殊兴趣的程序员的需求,对这些章节进行了分类。当然,你也可以跳过那些不感兴趣的章节,但或许你也能够在这些章节中找到一些感兴趣的东西。
你从本书中将得到什么?正如我们在前面所提到的,本书的主要目的是讲述隐藏在Windows设计后面的一些基本原理,虽然有些设计初看上去是不合理的。此外,你还将了解什么时候某项技术在Windows中是不能使用的,而这种限制往往是出于好意;并且,你将理解Windows为了维持向后兼容性所付出的努力(以及为什么这样做是很重要的)。最后,你还能够在鸡尾酒会(也就是说,有着其他的Windows狂热爱好者参加的鸡尾酒会)上讲述这些有趣的Windows历史故事。
本书中的大多数文章中都已经在作者的网站The Old New Thing(http://blogs.msdn.com/oldnewthing/)上以这样或那样的形式出现过,但是为了更好地满足本书的需求,我补充了许多新的内容。
读者可以到本书的网页(www.awprofessional.com/title/0321440307)上下载附送的两章,“应用程序兼容性的故事(Tales of Application Compatibility)”和“如何确保你的程序不会在Windows 95下运行(How to Ensure That Your Program Does Not Run Under Windows 95)”。如果你喜欢的话,可以阅读这两章并进行思考,这两章的内容是在本书的后期编辑中去掉的,就好像是在电影的后期制作中去掉的两幕场景,它们是独一无二的并且引人深思。此外,在网页中还包含了本书中的示例代码和勘误表。
附送章节可以从www.awprofessinoal.com/title0321440307下载
无封面