马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?站点注册
×
《PowerBuilder Win32 API程序设计》例子连载
全部代码已经上传到ftp中。
FTP2: 220.113.41.175
/5.PowerBuilder/api应用源代码/pb_api.rar
《PowerBuilder Win32 API程序设计(基础卷) 》
【目录 】
第一篇 Windows API基础篇 第1章 Win32 API基础 3 1.1 引 言 3 1.2 API概念 4 1.2.1 解决问题的三个途径 4 1.2.2 API释义 5 1.2.3 体验API的存在 6 1.2.4 API函数的分类 8 1.3 动态库与动态链接 9 1.3.1 动态库位于何处? 9 1.3.2 静态链接与动态链接 10 1.3.3 动态链接的优点 11 1.4 获取API信息资源 12 1.4.1 MSDN――Windows API的技术库 12 1.4.2 精采网站――程序员的乐园 14 1.5 风险警示 19 第2章 PowerBuilder的函数. 结构和数据类型 20 2.1 函 数 20 2.1.1 函数概述 20 2.1.1 函数概述 20 2.1.2 函数的类型 22 2.1.3 定义函数 23 2.1.4 函数调用的优先级 25 2.1.5 函数的过载和重载 26 2.1.6 向函数传递参数 27 2.1.7 函数的返回值 28 2.2 结 构 29 2.2.1 结构概述 29 2.2.2 定义结构 29 2.2.2 结构的赋值与引用 31 2.3 PowerBuilder的数据类型. 变量和常量 32 2.3.1 标准数据类型 32 2.3.2 Any数据类型 33 2.3.3 变量和常量 34 第3章 外部函数的声明和调用 37 3.1 外部函数声明 37 3.1.1 何处声明? 37 3.1.2 声明格式的约定 38 3.1.3 Alias For的作用 39 3.2 PowerBuilder与DLL之间参数传递方式 42 3.2.1 参数传递的两种方式――值传递与引用传递 42 3.2.2 如何确定参数的传递方式 43 3.3 向DLL函数传递不同类型的参数 44 3.3.1 传递数值型数据 44 3.3.2 传递字符串型数据 45 3.3.3 传递结构型数据 46 3.3.4 传递数组 48 3.3.5 NULL值传递 52 3.3.6 传递属性 53 3.3.7 能传递函数指针吗? 53 3.3.8 能传递Any数据类型吗? 54 3.4 数据类型的转换 55 3.4.1 API函数的 C原型 55 3.4.2 PB声明中数据类型转换 56 3.4.2 数据类型转换的进一步讨论 58 3.5 API函数标识常量及其逻辑运算 61 3.5.1 函数标识常量的定义 62 3.5.2 函数标识常量的作用 64 3.5.3 常量的位逻辑运算 65 3.5.4 创建数值位逻辑运算用户对象 69 3.6 外部函数调用错误信息及排错技巧 77 3.6.1 常见错误信息解析 77 3.6.2 防止错误的一些基本规则 80 3.7 API函数调用失败错误代码和信息 82 3.7.1 获得Win32 API函数调用失败错误代码 82 3.7.2 根据错误代码获取错误信息 83 3.7.3 获取错误信息应用示例 84 第二篇 Windows系统信息篇 第4章 Windows系统版本信息 91 4.1 判断Windows系统平台类型 91 4.1.1 判断Windows系统平台类型 91 4.1.2 判断Windows NT系统版本类型 95 4.2 获取Windows系统版本的详细信息 98 4.2.1 Windows系统主要版本特征 98 4.2.2 相关API函数和结构 99 4.2.3 获取系统版本详细信息示例 101 4.3 获取Windows系统产品ID 104 4.3.1 产品ID在注册表中位置 104 4.3.2 应用示例 105 第5章 Windows系统目录 107 5.1 Windows系统目录的获取 107 5.1.1 取得Windows的安装路径 107 5.1.2 多用户系统下共享Windows路径获取 108 5.1.3 Windows系统System目录路径 110 5.2 系统特殊目录的获取 112 5.2.1 特殊文件夹标识――CSIDL码 112 5.2.2 获取特殊文件夹相关API函数 113 5.2.3 应用示例 113 5.3 临时文件目录的获取 116 5.3.1 相关API函数 116 5.3.2 应用示例 117 第6章 Windows系统信息摘要 119 6.1 获取系统处理器信息 119 6.1.1 相关API函数和结构 119 6.1.2 应用示例 122 6.2 获取系统内存信息 127 6.2.1 相关API函数和结构 127 6.2.2 应用示例 128 6.3 获取计算机和系统用户名称 130 6.3.1 获取计算机标识名称 130 6.3.2 设置计算机标识名称 132 6.3.3 获取系统当前用户的名称 133 6.4 获取系统信息摘要综合示例 137 6.4.1 创建获取系统综合信息用户对象 137 6.4.2 应用示例 144 第7章 Windows系统区域信息 147 7.1 系统区域 147 7.1.1 系统区域和区域代码 147 7.1.2 获取系统区域识别码 151 7.1.3 获取系统区域信息 153 7.1.4 设置系统区域信息 156 7.2 获取系统国家/地区. 语言设置信息 158 7.2.1 国家/地区. 语言信息标识 158 7.2.2 获取国家/地区. 语言等区域信息 159 7.3 获取系统日期设置信息 163 7.3.1 日期信息标识 163 7.3.2 获取日期区域信息 165 7.3.3 国际化程序开发对日期设置的考虑 170 7.4 获取系统区域时间设置信息 174 7.4.1 时间信息标识 174 7.4.2 获取区域时间信息 174 7.5 获取系统货币设置信息 177 7.5.1 货币信息标识 177 7.5.2 获取货币区域信息 177 7.6 获取系统数字设置信息 183 7.6.1 数字信息标识 183 7.6.2 获取数字区域信息 184 第三篇 Windows系统操作篇 第8章 系统控制面板操作 189 8.1 控制面板操作命令 189 8.1.1 控制面板的启动 189 8.1.2 控制面板操作命令Rundll32 190 8.2 控制面板中子项的调用 191 8.2.1 控制面板中子项与.cpl文件 191 8.2.2 控制面板中内建子项的调用 192 8.2.3 使用Control.exe打开控制面板 194 8.2.4 应用示例 196 8.3 控制面板操作命令参考 200 8.3.1 控制面板命令详解 200 8.3.2 控制面板命令一览表 214 第9章 系统注册表访问 219 9.1 注册表概述 219 9.1.1 什么是注册表? 219 9.1.2 注册表结构 220 9.1.3 键. 子键和值项 223 9.1.4 注册表存储空间 225 9.1.5 注册表预定义键及其句柄 225 9.2 打开和关闭注册表键 226 9.2.1 打开注册表键 226 9.2.2 关闭注册表键 229 9.3 创建和删除注册表键 230 9.3.1 创建注册表键 230 9.3.2 删除注册表键 233 9.4 设置或删除注册表键值 235 9.4.1 设置注册表键值 235 9.4.2 删除注册表键值 241 9.5 注册表数据检索 243 9.5.1 枚举注册表键下的所有子键 243 9.5.2 枚举注册表键下面的值项 246 9.5.3 检索指定注册表键下的值项 249 9.6 注册表文件 251 9.6.1 注册表文件基本概念 251 9.6.2 将注册表键信息导出为注册表文件 252 9.6.3 将注册表文件信息添加到注册表中 255 9.7 注册表访问实例 257 9.7.1 Windows启动时自动执行某一程序 257 9.7.2 创建文件关联 261 9.7.3 创建应用程序"安装/删除"信息 268 第10章 系统桌面控制 273 10.1 桌面对系统界面的整合 273 10.2 系统桌面操作 274 10.2.1 获取系统任务栏设置 274 10.2.2 回收站操作 277 10.2.3 最近打开过的文档 281 10.3 桌面墙纸和屏幕保护程序的设置 283 10.3.1 相关API函数 283 10.3.2 设置桌面墙纸 285 10.3.3 设置屏幕保护程序 289 10.4 系统显示模式设置 294 10.4.1 使用环境对象获取当前显示模式 294 10.4.2 使用API函数获取显示模式更多信息 294 10.4.3 列出系统支持的所有显示模式 298 10.4.4 动态改变屏幕分辨率 304 10.5 获取或设置系统颜色 312 10.5.1 获取Windows系统显示要素的颜色 312 10.5.2 设置Windows系统显示要素的颜色 314 第11章 多媒体程序设计 317 11.1 波形音频的播放 317 11.1.1 波形音频 317 11.1.2 判断系统是否具备音频播放设备 318 11.1.3 使用PlaySound播放音频文件 318 11.1.4 使用PlaySound播放系统声音 320 11.1.5 使用sndPlaySound播放音频文件 325 11.2 媒体控制接口指令MCI 326 11.2.1 媒体控制接口指令MCI 326 11.2.2 媒体设备类型 329 11.2.3 MCI指令的构成 329 11.3 高级API多媒体控制函数 330 11.3.1 通过mciSendString函数发送MCI指令 331 11.3.2 获取MCI指令错误信息 331 11.4 使用MCI指令播放音频文件 333 11.4.1 播放音频文件的基本方法 333 11.4.2 长文件名音频文件的播放 334 11.4.3 连续播放某个音频文件 336 11.4.4 MIDI音乐的播放 338 11.5 使用MCI指令播放AVI视频 339 11.5.1 相关MCI指令的用法 339 11.5.2 AVI视频的播放 340 11.6 CD音频的播放 342 11.6.1 CD Audio相关MCI指令 343 11.6.2 定制CD播放器 344 第12章 ODBC数据源设置 353 12.1 ODBC基础 353 12.1.1 ODBC涵义 353 12.1.2 PB对ODBC数据源的访问 356 12.2 通过控制面板配置ODBC数据源 357 12.2.1 为PB应用定义ODBC数据源 357 12.2.2 为PB应用建立数据库配置文件 360 12.3 通过注册表配置ODBC数据源 362 12.3.1 注册表中有关ODBC的键 362 12.3.2 通过注册表中动态注册ODBC驱动 365 12.3.3 通过注册表动态注册ODBC数据源 368 12.4 ODBC API函数调用 371 12.4.1 获取数据源DNS列表 371 12.4.2 获取系统安装的数据库驱动列表 377 12.4.3 使用SQLConfigDataSource函数配置数据源 379 12.4.4 获取当前ODBC连接的DBMS. 数据库和用户 381 12.5 系统ODBC设置对话框的调用 383 12.5.1 调用"创建新数据源"设置向导 383 12.5.2 打开"ODBC数据源管理器" 384 第四篇 系统通用对话框篇 第13章 文件. 文件夹选择通用对话框 387 13.1 PB的文件打开. 保存对话框 387 13.1.1 打开文件对话框 387 13.1.2 保存文件对话框 388 13.2 内存管理函数 389 13.2.1 内存分配函数 390 13.2.2 内存锁定和释放函数 392 13.2.3 内存块复制函数 394 13.3 打开文件通用对话框的调用 395 13.3.1 相关函数和结构 395 13.3.2 调用示例 398 13.4 保存文件通用对话框的调用 403 13.4.1 相关函数和结构 403 13.4.2 调用示例 403 13.5 文件夹选择通用对话框的调用 408 13.5.1 相关函数和结构 408 13.5.2 调用示例 413 第14章 颜色及字体选择通用对话框 417 14.1 颜色选择通用对话框 417 14.1.1 相关函数和结构 417 14.1.2 颜色选择对话框调用示例 419 14.2 字体选择通用对话框 422 14.2.1 相关函数和结构 422 14.2.2 字体选择对话框调用示例 426 第15章 打印及打印机通用对话框 432 15.1 打印对话框 432 15.1.1 相关函数和结构 432 15.1.2 打印对话框调用 443 15.1.3 调用打印设置对话框 453 15.2 页面设置对话框 456 15.2.1 相关函数和结构 456 15.2.2 调用示例 460 15.3 打印机属性对话框 463 15.3.1 相关函数和结构 463 15.3.2 调用示例 463 第16章 系统其它一些对话框 466 16.1 消息对话框 466 16.1.1 MessageBox消息对话框 466 16.1.2 消息对话框调用示例 468 16.2 提示所需磁盘或文件对话框 473 16.2.1 相关API函数 473 16.2.2 调用示例 474 16.3 重新启动计算机对话框 476 16.3.1 相关API函数 476 16.3.2 调用示例 477 16.4 文件或文件夹属性对话框 478 16.5 互联网下载对话框 480 16.6 "关于"对话框 482 第五篇 文件. 目录和磁盘操作篇 第17章 文件与目录访问 487 17.1 获取和设置文件属性 487 17.1.1 获取和设置文件属性方法 487 17.1.2 应用示例 490 17.2 文件时间属性的读取和设置 492 17.2.1 访问文件时间属性的方法 492 17.2.2 获取文件对象的句柄 493 17.2.3 获取和设置文件时间函数 495 17.2.4 文件时间与系统时间的相互转换 496 17.2.5 创建访问文件时间用户对象 498 17.3 功能强大的SHFileOperation函数 504 17.3.1 函数SHFileOperation简介 504 17.3.2 文件的拷贝. 移动或删除 506 17.4 Windows 2000/XP下文件加解密 512 17.4.1 文件加密 512 17.4.2 文件解密 513 17.5 长. 短格式文件名的相互转换 513 17.5.1 将长文件名格式转换为短格式 514 17.5.2 将短文件名格式转换为长格式 514 17.6 目录操作 516 17.6.1 取得当前程序的工作路径 516 17.6.2 设置当前程序的工作路径 517 17.6.3 获取关联应用程序路径和名称 518 17.6.4 目录的创建与删除 520 17.7 神奇的ShellExecute函数 523 17.7.1 ShellExecute函数及其功能 523 17.7.2 ShellExecute功能演示 527 17.7.3 ShellExecuteEX函数及其功能 532 第18章 磁盘驱动器访问和控制 537 18.1 获取磁盘驱动器信息 537 18.1.1 获取磁盘驱动器列表 537 18.1.2 确定磁盘驱动器类型 539 18.1.3 获取磁盘的卷标及序列号 541 18.1.4 获取磁盘容量信息 543 18.2 获取硬盘驱动器物理信息 546 18.2.1 获取磁盘设备的句柄 547 18.2.2 访问系统设备的底层API函数 548 18.2.3 获取硬盘设备的物理信息 548 18.3 CD-ROM驱动器控制 557 18.3.1 判断系统是否安装有CD-ROM驱动器 557 18.3.2 判断CD-ROM驱动器中光盘是否准备就绪 559 18.3.3 判断系统是否安装有DVD驱动器 562 18.3.4 CD-ROM驱动器锁定 572 18.3.5 CD-ROM驱动器弹出与载入 577 18.4 软磁盘控制 581 18.4.1 判断软盘是否准备就绪 581 18.4.2 格式化磁盘 583 18.5 定制目录浏览对话框 585 18.5.1 设计思路 585 18.5.2 程序设计 588 第六篇 窗口控制篇 第19章 窗口操作 601 19.1 窗口与窗口的句柄 601 19.1.1 什么是窗口? 601 19.1.2 窗口句柄 601 19.2 窗口标题栏的控制 602 19.2.1 为标题栏增加闪烁效果 603 19.2.2 控制窗口标题栏的隐藏或显示 606 19.2.3 通过窗口消息动态改变窗口标题 616 19.2.4 无标题栏浮动窗口的建立 617 19.2.5 为窗口设置不同类型的边框 621 19.3 通过窗口函数控制系统任务栏 623 19.3.1 隐藏系统任务栏上的"开始"按钮 623 19.3.2 隐藏系统任务栏 627 19.4 窗口透明效果的实现 628 19.4.1 窗口透明效果 628 19.4.2 Windows 2000/XP中窗口半透明效果的实现 629 19.5 为窗口创建渐变色填充背景 632 19.5.1 区域填充API函数和结构 632 19.5.2 从RGB值获取红. 绿. 兰三原色分量 635 19.5.3 获取窗口设备场景的句柄 637 19.5.4 窗口矩形渐变色填充背景的实现 638 19.5.5 窗口三角形渐变色填充背景的实现 646 19.6 以动画效果打开或关闭窗口 655 19.6.1 使窗口产生动画的外部函数 655 19.6.2 创建窗口动画效果用户对象 658 19.7 异形窗口的实现 663 19.7.1 椭圆形或圆形窗口的建立 664 19.7.2 圆角矩形窗口的建立 666 19.7.3 不规则多边形窗口的建立 668 19.7.4 组合形状窗口的建立 671 19.8 窗口一些系统属性的控制 674 19.8.1 将窗口始终置于任务栏上方 674 19.8.2 设置或取消全窗口拖拽功能 676 19.8.3 设置或取消窗口动画显示功能 678 19.9 强化窗口工具栏和状态栏功能 680 19.9.1 限制窗口的最大和最小尺寸 680 19.9.2 PB窗口工具栏和状态栏的类名称 682 19.9.3 强化窗口工具栏和状态栏功能 685 第20章 窗口菜单 698 20.1 位图菜单的实现 698 20.1.1 带图标菜单的实现 698 20.1.2 全位图格式菜单的实现 710 20.2 自动隐藏菜单和多列菜单的实现 713 20.2.1 窗口菜单自动隐藏功能的实现 713 20.2.2 菜单多列显示的实现 715 20.3 具有历史记录功能菜单的实现 722 20.3.1 实现方法 722 20.3.2 应用示例 725 20.4 窗口系统菜单的控制 732 20.4.1 窗口系统菜单及相关API函数 732 20.4.2 窗口关闭. 最大化. 最小化系统菜单控制 736 20.4.3 将自定义菜单项添加到窗口系统菜单中 739 20.5 彩色菜单的实现 745 20.5.1 实现彩色菜单功能的函数 745 20.5.2 建立为菜单涂色的"刷子" 747 20.5.3 实现彩色菜单应用实例 748 20.6 带背景贴图菜单的实现 755 20.6.1 创建位图"刷子" 755 20.6.2 贴图背景菜单应用实例 756 20.6.3 为菜单增加滚动能力 760 第21章 命令按钮 762 21.1 IE风格按钮的实现 762 21.1.1 IE风格按钮的特点 762 21.1.2 IE风格按钮的实现 767 21.2 音效按钮的实现 776 21.2.1 音效按钮的实现 776 21.2.2 带系统音的音效按钮 778 附录A 函数索引 780 附录B 结构索引 783 附录C 示例索引 785
PowerBuilder Win32 API程序设计(高级卷) 【目录】 第一篇 Windows系统消息篇 第1章 Windows系统的消息机制 3 1.1 Windows 的工作机制 3 1.1.1 Windows 的工作方式――窗口. 事件和消息 3 1.1.2 句柄的概念 4 1.1.3 消息的概念 4 1.1.4 消息的类型 5 1.1.5 用于发送消息的API函数 7 1.2 事件与消息 9 1.2.1 从消息到事件 9 1.2.2 PB事件对消息的封装 11 1.3 消息应用的几个实例 20 1.3.1 通用消息设置对话框的超时关闭 20 1.3.2 通过消息设置窗口标题和定义窗口热键 22 1.3.3 使用消息控制窗口系统菜单 25 1.4 通过消息将应用图标加入到系统托盘中 27 1.4.1 相关函数和结构 27 1.4.2 载入图标的三种途径 29 1.4.3 创建实现相关功能的用户对象 32 1.4.4 应用实例 41 第2章 通过消息增强控件功能 47 2.1 进度条控件消息 47 2.1.1 进度条控件消息 47 2.1.2 通过消息改变进度条前景色和背景色 48 2.2 组合框控件消息 49 2.2.1 组合框控件消息 49 2.2.2 使用消息为组合框添加项目内容 51 2.2.3 组合框中项目内容的快速查找 52 2.2.4 使用消息为组合框添加文件列表 53 2.2.5 通过消息控制组合框的拉下或收起 54 2.3 列表框控件消息解析 56 2.3.1 列表框消息 56 2.3.2 随鼠标移动自动选择列表框中项 58 2.3.3 在列表框中快速查找开头含有某字符串的项 59 2.3.4 为含有超长文本的列表框增加提示功能 60 2.4 ListView控件消息 62 2.4.1 ListView控件消息 62 2.4.2 让ListView控件显示扁平滚动条 63 2.4.3 自动调整ListView控件的列宽 63 2.4.4 为ListView控件列增加Tooltips功能 65 2.5 TreeView控件消息 66 2.5.1 TreeView控件消息 66 2.5.2 设置TreeView控件节点文本的最大长度 68 2.5.3 仅允许TreeView控件节点文本中输入数字 69 第3章 Windows通用控件的调用 70 3.1 Windows通用控件概述 70 3.1.1 通用控件窗口类 70 3.1.2 判断通用控件动态库的版本 72 3.1.3 动态创建控件 76 3.2 月历控件调用 79 3.2.1 月历控件概述 79 3.2.2 月历控件的样式 80 3.2.3 月历控件的消息 81 3.2.4 创建应用于数据窗口的月历控件用户对象 86 3.2.5 在数据窗口中调用月历控件对象 122 3.3 日期与时间检出器控件的调用 127 3.3.1 日期与时间检出器控件概述 127 3.3.2 日期与时间检出控件的消息 129 3.3.3 创建日期与时间检出器控件用户对象 132 3.3.4 日期与时间检出器控件用户对象的调用 145 3.4 工具提示(ToolTip)控件 149 3.4.1 工具提示(ToolTip)控件概述 149 3.4.2 工具提示(ToolTip)控件的消息 150 3.4.3 创建工具提示(ToolTip)控件用户对象 157 3.4.4 窗口中调用工具提示控件用户对象 167 3.4.5 数据窗口中调用工具提示控件用户对象 169 3.5 动画控件的调用 171 3.5.1 动画控件概述 171 3.5.2 动画控件的消息 173 3.5.3 创建动画控件用户对象 174 3.5.4 调用动画控件用户对象 177 第4章 键盘消息机制及控制 179 4.1 系统键盘控制概述 179 4.1.1 键盘响应的消息机制 179 4.1.2 虚拟键定义 180 4.1.3 热键支持 183 4.2 键盘控制应用实例 183 4.2.1 设置ScrollLock. NumLock和CapsLock键的状态 183 4.2.2 数据窗口中用箭头键替代Tab键的功能 190 4.2.3 数据窗口中用Enter键替代Tab键的功能 192 4.2.4 屏幕及活动窗口图像捕捉功能的实现 194 4.2.5 通过Keybd_event函数最小化所有窗口 195 4.3 为PB应用注册热键 196 4.3.1 相关API函数 197 4.3.2 注册热键的方法 198 4.4 鼠标控制 201 4.4.1 将鼠标活动限定在某个范围内 201 4.4.2 追踪鼠标移动 204 4.4.3 使用动画鼠标指针 206 4.5 键盘输入法 208 4.5.1 键盘输入法相关API函数 208 4.5.2 获取系统键盘输入法列表 210 4.5.3 输入法的自动切换 211 第二篇 打印及打印机控制篇 第5章 Win32打印控制API基础 217 5.1 Win32打印机API概述 217 5.2 打印及打印机控制API函数 219 5.2.1 打开打印机对象函数 219 5.2.2 获取或设置打印机信息函数 220 5.2.3 获取或设置缺省打印机函数 222 5.2.4 枚举打印机及打印作业信息函数 223 5.2.5 获取打印设备属性函数 225 5.3 打印及打印机相关数据结构 228 5.3.1 DEVMODE结构 228 5.3.2 PRINTER_DEFAULTS结构 236 5.3.3 PRINTER_INFO_1结构 237 5.3.4 PRINTER_INFO_2结构 238 第6章 打印及打印机控制 240 6.1 系统缺省打印机的获取和设置 240 6.1.1 Windows 2000缺省打印机的获取和设置 240 6.1.2 Windows 95/98/Me缺省打印机的获取和设置 243 6.1.3 Windows NT 4.0默认打印机的获取和设置 246 6.2 获取系统安装的打印机列表 250 6.2.1 获取系统安装的打印机列表 250 6.2.2 获取指定打印机打印作业数目 253 6.3 获取打印设备的各项性能 255 6.3.1 获取打印机支持的纸型 255 6.3.2 获取打印机支持的纸盒 261 6.3.3 获取打印机支持的打印精度 264 第7章 定制仿Word打印. Excel页面设置对话框 267 7.1 打印机控制用户对象的建立 267 7.2 定制Word风格打印设置对话框 289 7.2.1 Word打印对话框的特点 289 7.2.2 Word风格打印对话框的建立 290 7.3 定制Excel风格的页面设置对话框 296 7.3.1 Excel风格的页面设置对话框的特点 296 7.3.2 定制Excel风格的页面设置对话框 297 7.4 综合示例 304 7.4.1 示例窗口 304 7.4.2 打印预览窗口 305 第三篇 位图操作篇 第8章 位图操作基础 311 8.1 设备场景 311 8.1.1 什么是设备场景? 311 8.1.2 设备场景的类型 313 8.1.3 获取和释放窗口的设备场景句柄 315 8.1.4 创建和删除设备场景 316 8.1.5 体验设备场景 318 8.2 位图. 画笔和刷子的基本概念 322 8.2.1 位图 322 8.2.2 画笔 324 8.2.3 刷子 328 8.2.4 自定义图案刷子 332 8.3 常用位图对象API函数 334 8.3.1 位图对象创建函数 334 8.3.2 位图对象绘制函数 336 8.3.3 对象操作函数 344 8.3.4 载入位图文件函数 346 8.3.5 休眠函数 348 8.4 光栅运算 348 8.4.1 什么是光栅运算? 348 8.4.2 Windows预定义光栅运算码 350 8.4.3 ROP效果演示 350 第9章 位图操作应用实例 357 9.1 图像透明显示效果的实现 357 9.1.1 通过光栅运算实现图像透明显示效果 357 9.1.2 图像透明显示效果的另一种解决方案 368 9.2 动画效果的实现 373 9.2.1 动画效果的实现基本思路 373 9.2.2 应用示例 375 9.3 图像特技显示效果的实现 378 9.3.1 各种图像特技显示效果的实现原理 378 9.3.2 特技显示效果的实现示例 382 9.4 图像特技效果在窗口中的应用 396 9.4.1 为窗口增加背景图案 396 9.4.2 程序退出时窗口变暗效果的实现 402 第四篇 逻辑字体与文本篇 第10章 逻辑字体与文本 411 10.1 字体概述 411 10.1.1 字体及其分类 411 10.1.2 字体家族 413 10.1.3 字符集 414 10.1.4 字体要素 415 10.2 系统字体枚举. 添加和删除 416 10.2.1 获取系统安装的字体列表 416 10.2.2 为系统注册新字体 421 10.2.3 注册字体实例――条形码的使用 428 10.3 逻辑字体对象的建立 429 10.3.1 创建逻辑字体 429 10.3.2 通过CreateFont函数创建逻辑字体 434 10.4 文本输出及显示特效的实现 436 10.4.1 文本输出相关API函数 436 10.4.2 文本旋转效果的实现 438 10.4.3 文本透明效果的实现 440 10.4.4 文本多彩效果的实现 441 10.5 通过文本函数增强PB进度条控件功能 443 10.5.1 改进的PB进度条控件 443 10.5.2 定制进度条控件 447 第五篇 网络与Internet篇 第11章 网络访问 455 11.1 网络连接对话框的调用 455 11.1.1 网络连接对话框函数 455 11.1.2 网络连接对话框函数 458 11.2 枚举和浏览网络资源 465 11.2.1 枚举网络资源 465 11.2.2 通过文件夹浏览通用对话框浏览网络资源 471 11.3 添加. 取消网络连接 475 11.3.1 相关API函数 475 11.3.2 连接网络资源示例 478 11.4 网络驱动器UNC路径名及映射 480 11.4.1 获取网络驱动器的UNC路径名 480 11.4.2 映射网络驱动器 482 11.5 网络时间同步 487 11.5.1 获取服务器的时间信息 487 11.5.2 与网络服务器时间同步 498 11.6 获取用户的网络登录名 501 11.7 判断网络的连接状态 503 11.8 检测网络IP地址能否联通 505 11.8.1 Ping命令与网际消息控制协议 (ICMP) 505 11.8.2 通过API函数发送ICMP回应请求 506 11.9 获取主机的MAC物理地址 512 11.9.1 ARP协议及其工作原理 513 11.9.2 通过IP地址获取本地或远程主机的MAC地址 514 第12章 Internet Explore浏览器 518 12.1 获取浏览器信息 518 12.1.1 取得默认浏览器的路径和文件名 518 12.1.2 取得IE浏览器的版本信息 521 12.2 从应用中打开浏览器 527 12.2.1 使用API函数打开浏览器 528 12.2.2 使用PB动态库中函数打开浏览器 529 12.3 巧用浏览器功能 529 12.3.1 文件下载 529 12.3.2 使用IE自动完成功能 532 12.3.3 操作IE的收藏夹 536 12.4 为IE工具栏添加自定义按钮 542 12.4.1 注册表中IE工具栏自定义按钮的相关信息 542 12.4.2 添加自定义按钮应用示例 544 12.5 在PB中定制浏览器 547 12.5.1 IE浏览器架构 547 12.5.2 WebBrowser控件的属性. 方法. 事件和OLE命令 548 12.5.3 使用WebBrowser控件定制浏览器 552 第13章 远程访问服务RAS 560 13.1 远程访问服务RAS 概述 5604 13.1.1 远程访问服务 560 13.1.2 远程访问服务API接口 561 13.1.3 Windows的RAS电话簿 563 13.1.4 RAS错误信息 564 13.2 调用RAS通用对话框 565 13.2.1 调用主拨号网络对话框 565 13.2.2 调用正在拨号对话框 568 13.2.3 调用拨号网络监视器对话框 570 13.2.4 Windows 2000/XP中调用连接属性对话框 572 13.2.5 Windows 95/98中调用连接属性对话框 575 13.2.6 调用创建新连接对话框 577 13.3 获取系统拨号连接列表 579 13.3.1 获取系统所有拨号连接列表 579 13.3.2 获取当前所有活动连接列表 582 13.4 建立与远程网络的连接 585 13.4.1 建立连接 585 13.4.2 获取连接状态 588 13.4.3 终止远程访问连接 591 13.4.4 建立PB远程访问用户对象 592 第14章 WinInet拨号连接控制 603 14.1 WinInet拨号连接API函数概述 603 14.2 启用拨号连接 605 14.2.1 启动IE默认拨号连接 605 14.2.2 启动指定拨号连接 608 14.3 确定网络连接状态 612 14.3.1 获取当前网络的连接状态 612 14.3.2 测试到Internet的网络连接条件 617 第15章 WinInet基础 620 15.1 Internet 协议 620 15.1.1 TCP/IP协议 620 15.1.2 HTTP协议 624 15.1.3 OSI模型高层接口――WinInet 623 15.2 WinInet接口函数 625 15.2.1 WinInet接口函数 625 15.2.2 WinInet接口函数句柄 627 15.2.3 WinInet句柄层次关系 628 15.3 WinInet版本及错误信息 631 15.3.1 确定WinInet版本的重要性 631 15.3.2 获取WinInet错误信息 635 第16章 FTP文件传输 643 16.1 FTP概述 643 16.1.1 FTP协议和工作原理 643 16.1.2 匿名FTP服务 644 16.2 建立Internet会话 645 16.2.1 FTP函数的调用层次 645 16.2.2 打开Internet会话句柄 647 16.2.3 建立Internet会话 651 16.3 FTP服务器目录操作 654 16.3.1 在FTP服务器上获取和切换工作目录 654 16.3.2 在FTP服务器上创建和移除目录 655 16.3.3 列出FTP服务器指定目录下的子目录或文件 659 16.4 FTP服务器文件操作 667 16.4.1 从FTP服务器下载文件 667 16.4.2 获取FTP服务器端文件的大小 670 16.4.3 向FTP服务器上传文件 674 16.4.4 删除FTP服务器端文件 678 16.4.5 重新命名FTP服务器端文件 681 16.5 通过FTPCommand函数发送FTP命令 684 16.5.1 FTP控制连接和数据连接 684 16.5.2 常用FTP命令 685 16.5.3 使用FTPCommand函数发送FTP命令 689 16.6 构筑FTP客户端应用系统 694 16.6.1 创建PB FTP用户对象 694 16.6.2 创建客户端文件和目录操作用户对象 712 16.6.3 构建FTP客户端应用系统 720 第六篇 Winsock网络应用开发篇 第17章 Winsock网络应用基础 749 17.1 Windows Sockets概述 749 17.1.1 Windows Sockets基本概念 749 17.1.2 Winsock在OSI模型中的地位 750 17.1.3 Winsock传输数据类型 752 17.1.4 Winsock的接口函数 753 17.1.5 Winsock工作流程 756 17.2 启动Winsock服务 758 17.2.1 Winsock服务启动和终止 758 17.2.2 处理Winsock错误 763 17.3 主机名称与IP地址 768 17.3.1 IP地址概述 768 17.3.2 IP地址IPv4与Ulong格式的相互转换 770 17.3.3 获取本地主机名称 772 17.3.4 获取主机IP地址 773 17.3.5 网络顺序和主机顺序数值位相互转换 778 17.4 通过Socket连接到远程主机 786 17.4.1 创建或关闭Socket 786 17.4.2 通过Socket连接到远程主机 787 17.4.3 与远程主机建立连接示例 790 17.4.4 绑定(Binding)Socket 794 17.4.5 接收数据 795 17.4.6 发送数据 799 17.4.7 侦听和接受连接请求 805 第18章 Winsock网络应用开发 808 18.1 创建Winsock用户对象 808 18.1.1 声明用户对象结构. 外部函数和常量 808 18.1.2 用户对象的事件处理程序 812 18.1.3 创建用户对象函数 814 18.2 通过Winsock实现FTP功能 830 18.2.1 通过Winsock实现FTP功能的基本思路 830 18.2.2 创建基于Winsock 的FTP用户对象 832 18.2.3 创建Winsock FTP应用 855 18.3 通过Winsock发送电子邮件 885 18.3.1 发送邮件的基本思路 886 18.3.2 创建基于Winsock 的SMTP用户对象 887 18.3.3 创建Winsock SMTP应用 897 18.4 使用Winsock API实现点对点通信 900 18.4.1 客户端程序 900 18.4.2 服务器端程序 904 第19章 Winsock控件及网络应用开发 908 19.1 Winsock控件的属性. 事件和方法 908 19.1.1 Winsock控件的属性 908 19.1.2 Winsock控件的方法 909 19.1.3 Winsock控件的事件 910 19.2 使用Winsock控件创建简单的网络应用 915 19.2.1 创建简单的TCP网络应用 915 19.2.2 创建简单的UDP网络应用 920 19.3 使用Winsock控件实现与远程时间服务器时间同步 923 19.3.1 与时间服务器时间同步的基本原理 924 19.3.2 与时间服务器时间同步应用示例 925 附录A 函数索引 929 附录B 结构索引 932 附录C 示例索引 935
[此贴子已经被作者于2008-3-20 10:51:58编辑过]
|