《windows程序设计》
外加:msdn

解决方案 »

  1.   

    《windows程序设计》是谁写的?哪个出版社出版?
      

  2.   

    说说《windows程序设计》的详细资料,谢谢
      

  3.   

    《win32程序员参考大全    微软》是学api的一本好书
      

  4.   

    Windows编程书评“前言”    大约八、九年前我开始学习程序设计时,编程方面的书籍十分缺乏,只要有一点内容的书大家都会掏钱购买,如果有了一本好书象Ray Duncan的中《Advanced Dos Progamming》, 那就被大家都当成宝贝一样人手一册珍藏。现在各家出版社都争相出版各种电脑丛书,书目让人眼花撩乱,书本价格也越来越高,难免鱼龙混杂,读者想购买书籍时不免左挑右选:难于决定哪些是真正的“经典大片”, 是值得你付出银子、精力的真经。哪些是虚有其表的作品。如有专家指点,读者就能不用费神思量了。笔者不揣浅陋,抛砖引玉,介绍一些Windows编程方面的书籍,仅供参考。“Windows程序设计的圣经:Petzold”    C/C++语言是主流程序设计语言,Windows是当今最流行的操作系统,只要你想加入计算机软件行业,你就必须掌握这两项本领。可惜至今我们国家很多学校计算机软件专业都还没有开设Windows程序设计的课,可能用的课本还是我们10年前的课本,相当于国外20年前的水平,大部分刚走出校门的毕业生还得从头学起,这种落后情况何时才能改变。 
        对于已经基本掌握C/C++语言,想学习Windows编程的读者, 《Programming Windows95》是最合适的教材。这本书大名鼎鼎,是最著名,最受好评,最为畅销的Windows编程经典著作,被誉为Windows程序设计的“圣经”。作者是Charles Petzold, 国内由清华大学出版社出版,书名《Windows95程序设计》,定价98元。 
        Charels Petzold是自由专栏作家,是第一个在杂志上介绍Windows编程的作者,通过对微软Windows编程资料近半年的研究学习,他掌握了Windows编程,他发现自己能比微软更好地解释如何学习Windows 编程,于是1988年他出版了〈Progamming Windows〉一书,开始介绍的是Windows 2.0编程,现在这个版本是第四版,介绍Windows95编程,其它两个版本是windows 3.0,3.1。虽然Windows经过了将近10年的发展但这本书的大多数程序看起来没有太大变化,实际上Windows的设计原理所谓事件驱动方式本质上基本没有变化。 
        Charels采用的是传统的C语言,直接调用Windows API(Appliction Progamming Interface应用程序接口),而不是流行的C++和MFC。这看来有点陈旧和过时,但实际上这种SDK编程即直接使用Windows API编程是最基础、最本质、用途最广的Windows编程方式,只有这样才能清楚体验Windows程序设计的原理:"基于消息,事件驱动方式",而且通过调用API可以深入了解Windows操作系统的基本部分。对于采用Visual Basic或者Delphi等快速程序开发工具(Rapid Appliction Development ,RAD)的程序员来说,掌握SDK编程可以进一步提高实力,设计出更高质量的程序。
        这本书取材全面丰富,涵盖了Windows编程的主要领域:消息驱动,GDI,窗口控制,资源,内存,打印,DDE等,每一方面都举出短小精悍的例子说明,新版内容也覆盖了Windows95的新概念:如多线程,增强GDI,抢先多任务,新的Win95界面控件和增强OLE等。不过很多人认为3.1版本的书是最有价值的,相比起来针对Win95版本增加的内容和深度都还差一点。但对于全面掌握Windows编程的基本概念,特别是从Dos编程转移到Windows编程,这是最好的教科书。 
        这是一本大部头著作,中文版有875页,附有磁盘,英文版有1100页,书中的程序代码非常清晰,有很多注释,注释也非常清蔟,是如何进行程序编码的优秀样板,阅读别人的优秀代码是学习编程最好的方法。这本书属于典型技术派风格,文字简炼,平铺直叙,没有象通常的美国书籍有笑话,趣闻,故事来调节一下,读起来很是有点累,不过这是值得的。 
        由于Charles Petzold对Windows编程推广的巨大贡献,(对于整整一代程序员来说,"到 Petzold"的书里查一下"早已成了解决Windows程序设计的法宝.),. !994年微软公司和Windows杂志给他授予了Windows先驱奖,其他六个同时获奖的人都是微软公司的Windows主要设计人员和市场人员,这也充分证明了这本书的价值.
      

  5.   

    内容简介 Introduction 
       Windows程序设计(第5版)对于Windows程序员来说,“从 Chares 的(Window程序设计)一书中寻找答案。”几乎成了一句至理名言。而(Windows程序设计》第5版是专门为在Microsoft Windows 98、Microsoft Windows NT 4和 Windows NT 5下编程的开发人员编写的。内容博大精深,并有大量的源代码来帮助读者掌握Windows编程。本书覆盖了Windows编程的方方面面,是广大编程人员和学习Windows编程的读者必
    备的一本好书。  图书目录 Directory 
    对《Windows 程序设计》的评论
    作者的话
    作者简介上册第一部分  基础知识第一章 开始1.1 Windows环境
    1.1.1 Windows简史
    1.1.1 Windows方面
    1.1.3 动态链接
    1.2 Windows编程选项
    1.2.1 API和内存模式
    1.2.2 语言选项
    l.2.3 编程环埃
    1.2.4 API文档
    1.3 编写一个Windows程序
    1.3.1 字符模式(Character-Mode)模型
    1.3.2 Windows等价程序
    1.3.3 头文件
    1.3.4 程序入四点
    1.3.5 Message Box函数
    1.3.6 编译、链接和运行第二章 Unicode简介2.1 字符集简史
    2.1.l 美国标准
    2.1.2 国际方面
    2.1.3 扩展ASCII
    2.1.4 汉字节字符集
    2.1.5 Unicode解决方案
    2.2 宽字符和C
    2.2.1 Char数据类型
    2.1.2 宽字符
    2.2.3 宽字符库函数
    2.2.4 维护单一源代码
    2.3 宽字符和Windows
    2.3.1 Windows头文件类型
    2.3.2 Windows函数调用
    2.3.3 Windows的字符串函数
    2.3.4 在Windows中使用Print
    2.3.5 格式化消息框
    2.3.6 本书与国际化第三章 窗口和消息3.1 自己的窗口
    3.1.1 总体结构
    3.l.2 HELLOWIN程序
    3.1.3 总体考虑
    3.1.4 注册窗口类
    3.1.5 创建窗口
    3.1.6 显示窗口
    3.1.7 消息循环
    3.1.8 窗口过程
    3.1.9 处理消息
    3.1.10 播放声音文件
    3.1.11 WM-PAINT消息
    3.1.12 WM-destroy消息
    3.2 Windows编程的难点
    3.2.l 别调用我,我会调用您
    3.2.2 进队消息与不过队消息
    3.2.3 行动迅速第四章 输出文本4.1 绘制和刷新
    4.1.1WM_PAINT消息
    4.1.2 有效矩形和无效矩形
    4.2 GDI简介
    4.2.1 设备描述表
    4.2.2 获取设备描述表句柄:方法
    4.2.3 绘图信息结构
    4.2.4 获取设备描述表句柄:方法一
    4.2.5 TextOut细节
    4.2.6 系统字体
    4.2.7 字符大小
    4.2.8 文本尺寸:细节
    4.2.9 格式化文本
    4.2.10 综合使用
    4.2.11 SYSMENTS1.C窗口过程
    4.2.12 空间不够
    4.2.13 客户区的大小
    4.3 滚动条
    4.3.1 滚动条的范围和位置
    4.3.2 滚动条消息
    4.3.3 在Systems中添加滚动功能
    4.3.4 绘图程序的组织
    4.4 建立更好的滚动
    4.4.l 滚动条信息函数
    4.4.2 滚动范围
    4.4.3 新SYSTEMS
    4.4.4 不用鼠标怎么办第五章 图形基础5.1 GDI的结构
    5.1.1 GDI原理
    5.l.2 GDI函数调用
    5.1.3 GDI图元
    5.1.4 其他方面
    5.2 设备描述表
    5.2.1 获取设备描述表句柄
    5.2.2 获取设备描述表信息
    5.2.3 DEVCAPSI程序
    5.2.4 设备的大小
    5.2.5 关于色彩
    5.2.6 设备描述表属性
    5.2.7 保存设备描述表
    5.3 画点和线
    5.3.1 写像素
    5.3.2 直线
    5.3.3 边界框函数
    5.3.4 贝塞尔样条
    5.3.5 使用现有画笔(Stock Pens)
    5.3.6 画笔的创建、选择和删除
    5.3.7 填充空隙
    5.3.8 绘图方式
    5.4 绘制填充区域
    5.4.1 Polygon函数和多边形填充方式
    5.4.2 用画刷填充内部
    5.5 GDI映射方式
    5.5.1 设备坐标和逻辑坐标
    5.5.2 设备坐标系
    5.5.3 视口和窗口
    5.5.4 处理MM-TEXT
    5.5.5 “度量”映射方式
    5.5.6 “自作主张的”映射方式
    5.5.7 WHATSIZE程序
    5.6 矩形、区域和剪裁
    5.6.l 矩形函数
    5.6.2 随机矩形
    5.6.3 创建和绘制区域
    5.6.4 短形与区域的剪裁
    5.6.5 CLOVER程序第六章 键盘6.1 键盘基础
    6.1.1 忽略键盘
    6.1.2谁 获得了焦点
    6.1.3 队列和同步
    6.1.4 击键和字符
    6.2 击键消息
    6.2.1 系统击键与非系统击键
    6.2.2 虚拟键码
    6.2.3 lParam信息
    6.2.4 换档状态
    6.2.5 使用击键消息
    6.2.6 为键盘增强SYSMETS
    6.3 字符消息
    6.3.1 四类字符消息
    6.3.2 消息顺序
    6.3.3 处理控制字符
    6.3.4 死字符消息
    6.4 键盘消息和字符集
    6.4.1 KEYVIEWI程序
    6.4.2 外语键盘问题
    6.4.3 字符集和字体
    6.4.4 Unicode怎么样?
    6.4.5 TrueType和大字体
    6.5 插入符(不是光标)
    6.5.1 插入符函数
    6.5.2 TYPER程序第七章 显标7.1 鼠标基础
    7.1.1 一些简单的定义
    7.2 客户区鼠标消息
    7.2.1 简单的鼠标处理:一个例子
    7.2.2 处理协脸键
    7.2.3 双击鼠标键
    7.3 非客户区鼠标消息
    7.3.1 命中测试消息
    7.3.2 从消息产生消息
    7.4 程序中的命中测试
    7.4.1 一个假想的例子
    7.4.2 示例程序
    7.4.3 使用键盘仿真鼠标
    7.4.4 在CHECKER中添加键盘接口
    7.4.5 将于窗口用于命中测试
    7.4.6 CHECKER中的子窗口
    7.4.7 子窗口和键盘
    7.5 捕获鼠标
    7.5.l 设计矩形
    7.5.2 捕获的解决方案
    7.5.3 BLOKOUT2 程序
    7.6 鼠标轮
    7.6.l 后会有期第八章 计时器8.l 计时器基础
    8.1.l 系统和计时器
    8.1.2 计时器消息不是异步的
    8.2 计时器的使用:三种方法
    8.2.1 方法—
    8.2.2 方法二
    8.2.3 方法三
    8.3 计时器用于时钟
    8.3.1 构造数字时钟
    8.3.2 获取当前时间
    8.3.3 显示数字和冒号
    8.3.4 国际化
    8.3.5 构造模拟时钟
    8.4 为状态报告使用计时器第九章 子窗口控制9.1 按钮类
    9.1.1 创建于窗口
    9.1.2 子窗口向父窗口发送消息
    9.1.3 父窗口向子窗口发送消息
    9.1.4 下压按钮
    9.1.5 复选框
    9.l.6 单选按钮
    9.1.7 分组框
    9.1.8 更改按钮文本
    9.1.9 可见的和启用的按钮
    9.l.10 按钮和输人焦点
    9.2 控制与颜色
    9.2.l 系统颜色
    9.2.2 按钮颜色
    9.2.3 WM-CTLCOLORBTN消息
    9.2.4 拥有者绘制按钮
    9.3 静态类
    9.4 滚动条类
    9.4.1 COLORS1程序
    9.4.2 自动键盘接口
    9.4.3 窗口子类化
    9.4.4 给背景着色
    9.4.5 给滚动条和静态文本着色
    9.5 编辑类
    9.5.1 编辑类风格
    9.5.2 编辑控制通知
    9.5.3 使用编辑控制
    9.5.4 发送给编辑控制的消息
    9.6 列表框类
    9.6.l 列表框风格
    9.6.2 将串放人列表框
    9.6.3 选择和获取项
    9.6.4 接收来自列表框的消息
    9.6.5 一个简单的列表框应用程序
    9.6.6 文件列表
    9.6.7 Windows的head程序第十章 莱单及其他资源10.l 图标、光标、字符率和定制资源
    10.1.1 将围标添加到程序
    10.1.2 获取国标句柄
    10.1.3 在程序中使用图标
    10.1.4 使用自定义光标
    10.l.5 字符串资源
    10.1.6 定制资源
    10.2 菜单
    10.2.1 菜单概念
    10.2.2 菜单结构
    10.2.3 定义某单
    10.2.4 在程序中引用菜单
    10.2.5 某单和消息
    10.2.6 示例程序
    10.2.7 菜单设计规范
    10.2.8 定义菜单的复杂方法
    10.2.9 浮动弹出式菜单
    10.2.10 使用系统莱单
    10.2.11 更改菜单
    10.2.12 其他某单命令
    10.2.13 创建菜单的非正规方法
    10.3 键盘加速键
    10.3.1 为什么要使用加速键
    10.3.2 安排加速键的几条规则
    10.3.3 加速键表
    10.3.4 加载加速键表
    10.3.5 键盘代码转换
    10.3.6 接收加速键消息
    10.3.7 菜单与加速键应用程序POPPAD
    10.3.8 启用菜单项
    10.3.9 处理菜单项第十一章 对话框11.1 模态对话框
    11.1.1 创建About对话框
    11.1.2 对话框及其模板
    11.1.3 对话框过程
    11.1.4 激活对话框
    11.1.5 不同的主题
    11.1.6 更复杂的对话框
    11.l.7 使用对话框控制
    11.1.8 OK和Cancel按钮
    11.1.9 避免全局变量
    11.l.10 Tab停留位和组
    11.1.11 在对话框上绘图
    11.1.12 将其他函数用于对话框
    11.l.13 定义自己的控制
    11.2 非模态对话框
    11.2.1 模态对话框与非模态对话框的区别
    11.2.2 新的COLORS程序
    11.2.3 HEXCALC:窗口还是对话框?
    11.3 通用对话框
    11.3.1 增强POPPAD
    11.3.2 Unicode文件I/O
    11.3.3 更改字体
    11.3.4 查找与替换
    11.3.5 只调用一个函数的 Windows程序第十二章 剪贴报12.l 剪贴板的简单使用
    12.1.l 标准剪贴板数据格式
    12.1.2 内存分配
    12.1.3 将文本传送到剪贴板
    12.1.4 从剪贴板上获取文本
    12.1.5 打开和关闭剪贴板
    12.1.6 剪贴板和 Unicode
    12.2 复杂的剪贴板用法
    12.2.l 利用多个数据项
    12.2.2 延迟生成
    12.2.3 私有数据格式
    12.3 实现剪贴板查看器
    12.3.l 剪贴板查看器链
    12.3.2 剪贴板查看器的函数和消息
    12.3.3 一个简单的剪贴板查看器下册第二部分 其他图形知识第十三章 使用打印机13.l 打印基础
    13.1.l 打印和后台处理
    13.1.2 打印机设备描述表
    13.l.3 修改后的DEVCAPS程序
    13.1.4 PriterProperties调用
    13.1.5 检查BitBlt能力
    13.1.6 最简单的打印程序
    13.2 打印图形和文本
    13.2.l 打印的基本过程
    13.2.2 使用中止过程来取消打印
    13.2.3 Windows如何使用AbortPro
    13.2.4 实现中止过程
    13.2.5 添加打印对话框
    13.2.6 为POPPAD添加打印功能第十四章 位围和Bitblt14.l 位图基础
    14.1.1 位图的来源
    14.2 位图尺寸
    14.2.l 颜色和位图
    14.2.2 现实世界的设备
    14.2.3 GDI支持的位图
    14.3 位块传送
    14.3.l 简单的BitBlt
    14.3.2 拉伸位图
    14.3.3 StretchBlt模式
    14.3.4 光栅操作
    14.3.5 图案Blt
    14.4 GDI位图对象
    14.4.l 创建DDB
    14.4.2 位图位
    14.4.3 内存设备描述表
    14.4.4 加载位图资源
    14.4.5 单色位图格式
    14.4.6 用位图作画刷
    14.4.7 在位图中绘图
    14.4.8 影子位图
    14.4.9 在菜单中使用位图
    14.4.10 非矩形位图图像
    14.4.11 简单的动画
    14.4.12 窗口外的位图第十五章 与设备无关的位图15.1 DIB文件格式
    15.1.l OS/2风格的DIB
    15.1.2从下向上
    15.1.3 DIB像素位
    15.1.4 扩展的 Windows DIB
    15.l.5 现实性检查
    15.l.6 DIB压缩
    15.1.7 颜色掩蔽
    15.1.8 第4版的Header
    15.1.9 第5版的Header
    15.l.10 显示DIB信息
    15.2 显示和打印
    15.2.1 进入DIB
    15.2.2 像素到像素
    15.2.3 DIB的颠倒世界
    15.2.4 连续显示
    15.2.5 按需放大
    15.2.6 色彩转换、调色板和性能
    15.3 DIB和DDB的结合
    15.3.l 从DIB创建DDB
    15.3.2 从DDB到DIB
    15.3.3 DIB块
    15.3.4 DIB块的其他区别
    15.3.5 文件映射选项
    15.3 6 总结第十六章 调色板管理器16.l 使用调色板
    16.1.l 视频硬件
    16.l.2 显示渐变灰色
    16.1.3 调色板消息
    16.1.4 调色板索引方法
    16.1.5 查询调色板支持
    16.1.6 系统调色板
    16.1.7 其他调色板函数
    16.1.8 光栅操作问题
    16.1.9 查看系统调色板
    16.2 调色板动画
    16.2.l 跳动的球
    16.2.2 一个条目的调色板动画
    16.2.3 工程应用程序
    16.3 调色板和真实世界图像
    16.3.l 调色板和紧缩DIB
    16.3.2 通用调色板
    16.3.3 半色调调色板
    16.3.4 索引调色板颜色
    16.3.5 调色板和位图对象
    16.3.6 调色板和DIB块
    16.4 用于DIB的库
    16.4.1 DIBSTRUCT结构
    16.4.2 信息函数
    16.4.3 读、写像素
    16.4.4创建和转换
    16.4.5 DIBHELP头文件和宏
    16.4.6 DIBBLE程序
    16.4.7 简单调色板和优化调色板
    16.4.8 转换格式第十七章 文本和字体17.1 简单的文本输出
    17.1.1 文本输出函数
    17.1.2 文本的设备描述表属性
    17.l.3 使用备用字体
    17.2 字体的背景
    17.2.l 字体类型
    17.2.2 TrueType字体
    17.2.3 属性或风格
    17.2.4 磅值
    17.2.5 间隔和间距
    17.2.6 逻辑英寸问题
    17.3 逻辑字体
    17.3.l 逻辑字体的创建和选择
    17.3.2 PICKFONT程序
    17.3.3 逻辑字体结构
    17.3.4 字体映射算法
    17.3.5 查找关于字体的信息
    17.3.6 字符集和 Unicode
    17.3.7 EZFONT系统
    17.3.8 字体的旋转
    17.4 字体列举
    17.4.1 列举函数
    17.42 ChooseFont对话框
    17.5 段落格式化
    17.5.l 简单文本格式化
    17.5.2 使用段落
    17.5.3 打印输出预览
    17.6 娱乐性素材
    17.6.1 GDI轨迹
    17.6.2 扩展画笔
    17.6.3 四个示例程序第十八章 元文件18.1 老式元文件格式
    18.1.l 内存元文件的简单利用
    18.1.2 将元文件保存在磁盘上
    18.1.3 老式元文件与剪贴板
    18.2 增强型元文件
    18.2.l 基本过程
    18.2.2 揭开内幕
    18.2.3 元文件和GDI对象
    18.2.4 元文件和位图
    18.2.5 列举元文件
    18.2.6 嵌入图像
    18.2.7 增强型元文件查看器和打印机
    18.2.8 显示精确的元文件图像
    18.2.9 缩放比和纵横比
    18.2.10 元文件中的映射方式
    18.2.11 映射和显示第三部分 高级主题第十九章 多文档界面
    19.1 MDI概念
    19.1.1 MDI的组成
    19.1.2 MDI支持
    19.2 MDI的示例程序
    19.2.l 三个菜单
    19.2.2 程序初始化
    19.2.3 创建子窗口
    19.2.4 关于框架窗口的消息处理
    19.2.5 于文档商口
    19.2.6 结束处理第二十章 多任务和多线程20.l 多任务的各种模式
    20.l.1 DOS下的多任务
    20.1.2 非抢占式的多任务
    20.1.3 PM和串行化的消息队列
    20.1.4 多线程解决方案
    20.1.5 多线程体系结构
    20.1.6 线程间的“争吵”
    20.1.7 Windows的优点
    20.1.8 新的!先进的!有线程了!
    20.2 Windows多线程
    20.2.l 再论随机矩形
    20.2.2 程序设计竞赛的问题
    20.2.3 多线程解决方案
    20.2.4 有问题吗?
    20.2.5 Sleep的优点
    20.3 线程同步
    20.3.l 临界区
    20.4 事件信号
    20.4.1 BIGJOB1程序
    20.4.2 事件对象
    20.5 线程局部存储(TLS)第二十一章 动态键接库21.1 库的基本知识
    21.1.l 库:一词多义
    21.1.2 一个简单的DLL
    21.1.3 库入口 l出口点
    21.1.4 测试程序
    21.1.5 在DLL中共享内存
    21.1.6 STRPROG程序
    21.1.7 在STRPROG实例之间共享数技
    21.2 各种各样的DLL主题
    21.2.l 不用输入的动态键接
    21.2.2 纯资源库第二十二章 声音与音乐22.1 Windows多媒体
    22.1.l 多媒体硬件
    22.1.2 API概述
    22.1.3 用TESTMCI研究MCI
    22.1.4 MCITEXT和CD音频
    22.2 波形音频
    22.2.1 声音和波形
    22.2.2 脉冲编码调制
    22.2.3 采样速率
    22.2.4 样本大小
    22.2.5 在软件中产生正弦波
    22.2.6 数字录音机
    22.2.7 另一种MCI
    22.2.8 MCI命令字符串的方法
    22.2.9 波形音频文件格式
    22.2.10 附加合成实验
    22.2.11 唤醒波形音频
    22.3 MIDI和音乐
    22.3.l 使用 MID
    22.3.2 更改程序
    22.3.3 MID通道
    22.3.4 MID消息
    22.3.6 通过键盘演奏MIDI合成器
    22.3.7 MIDI击鼓器
    22.3.8 多媒体函数
    22.3.9 RIFF文件I/O第二十三章 领略Internet23.1 Windows套接字
    23.1.1 套接字和IC:TCP/IP
    23.1.2 网络时间服务
    23.1.3 nettime程序
    23.2 WinInet和FTP
    23.2.1 FTP AN概况
    23.2.2 更新演示程序