图书前言

前言

微软的Windows系统是当今个人计算机的主流操作系统之一,风靡一时的Windows XP和漂亮的Windows 7,及具有Metro界面的Windows 8,其可靠性、易用性、美观性逐步提高,功能不断丰富。微软发布的Software Development Kit (SDK)对Windows平台中常用函数和程序调用库做了专业描述,十几年前微软采用MFC技术封装窗体程序曾经红极一时,随着MFC缺点的暴露现已被微软抛弃。微软吸收面向对象程序设计的各种优点推出.NET Framework开发平台,新的C#编程语言成为微软的新宠,基于.NET Framework的程序比直接使用Windows API开发更简单,程序运行更可靠。

.NET平台是一个辅助的软件运行平台,它在字符编码、文件系统管理、托管代码和多线程同步等普通的程序任务方面提供丰富的类方便用户使用。而在Windows窗体控制、消息机制方面内核API函数又是不可替代的。本书中的实例项目将.NET平台与Windows内核有机融合,介绍了大量实用且灵活的.NET平台类应用,为Windows程序员的软件开发扫清了障碍。

本书实例淡化语法描述,把有代表性的类成员和方法、典型的软件设计理论穿插在程序实例中而不是机械地进行介绍,例如对反射的应用、Dictionary类的用法等。窗体程序是Windows平台核心技术组成,本书从控件事件的编程方式开始,渐次介绍Windows底层消息机制,最后深入探讨Windows多线程多任务并发执行机制,剖析Windows中的同步与通信方法,结合.NET平台讲述各种Windows操作系统的任务实现。本书目标是在Windows平台运行原理和实际应用之间搭建一座桥梁,设计既符合Windows平台应用要求,又贴合解决实际问题方向,迎合社会需求的程序。本书注重程序的全局理念,体验感强,可帮助读者由浅入深迅速达到较高软件设计水平。

本书中的程序使用C#程序设计语言,内容由易到难,在多媒体和数据库章节介绍的常规软件功能,适合编程基础少的读者快速开发实用程序; 有一定编程基础的读者,可重点学习多线程并发与同步控制以及进程钩子、网络通信等内容。读者学习本书内容时应对程序进行多方位思考,结合书中的思考与练习题培养自学能力。

微软的开源项目Silverlight组件是一种Web前端应用程序开发解决方案,成为Flash的强大竞争对手,它以浏览器外挂组件的方式,提供Web中的多媒体与高交互性的前端应用程序,能进一步使用户在开发Web应用程序时得到更高的视觉体验。DirectX技术及XNA平台则是微软公司专门针对游戏的解决方案,有兴趣的读者可以参考相关方面的书籍资料,本书不涉及Silverlight与XNA技术内容。

本书定位于应用型的高校学生,可作为计算机专业Windows应用程序开发相关课程的教材,为此本书配套素材提供了29个既循序渐进又相对独立的授课单元,代码经过Visual Studio 2008或Visual Studio 2013调试通过,推荐授课教师每单元安排2学时理论与2学时实验相结合的方式。29个授课单元内容中,前15个单元主要围绕Windows平台特点设计单机应用程序,后14个单元面向Windows平台的网络应用程序。本书配套素材还附带了一个英语四级单词训练软件的PNG格式的源代码截图,代码量较大且信息多,没有在本书中叙述,适合有一定开发基础的人员学习本书内容过程中进行综合项目演练。使用本书的教师既可以在一个学期以60个理论学时讲授全部内容,也可以将本书内容安排为上下两个学期,每学期30个理论学时讲授。此外,本书还可作为Windows平台开发人员的参考书籍。

本书内容只是Windows平台软件技术的冰山一角,希望能对开发者起到抛砖引玉的作用。MSDN文档偏重语法格式与简单示范,本书中程序经过实践运行和作者反复思考获得全新的理解。多数原理和所配图表都属全新创作。本书文字力求通俗易懂,避免晦涩的专业术语,限于作者文笔水平和知识局限,书中描述不准确或程序代码缺陷在所难免,恳请读者进行批评指正。如您能够将宝贵意见发送到zscleo@163.com邮箱,编者将不胜感谢。本书由李赞、李文生负责编写及统稿,另外感谢邹昆、梁瑞仕和邓春健为本书所做的工作。

编者

2015年9月