PowerBuilder Win32API程序设计

PowerBuilder Win32API程序设计
作 者: 马贵安
出版社: 清华大学出版社
丛编项: PowerBuilder Win32API技术丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: Powerbuilder
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  马贵安,高级工程师,现供职于黄河水利水电开发总公司。长期从事MIS及GIS系统在企业的应用和推广工作。主持和参与开发了多个应用于水利、文物保护、水环境保护等领域的信息系统。对Win32API技术及其在PowerBuilder中的应用有很深的造诣。

内容简介

本书特点:·深层次诠释Win32API技术的内涵·全方位扩充和丰富PowerBuilder的功能·快速提升用户的PowerBuilder应用开发水准·适用于PowerBuilder7.0及以上版本·配书光盘提供了本书范例的全部源代码通过Windows应用程序接口API,可以丰富和扩充PowerBuilder功能。本套丛书是目前国内外第一套系统介绍PowerBuilder中Win32API程序设计的书籍,丛书以丰富的实例,系统、全面、深入介绍了在PowerBuilder中调用Windows系统API函数的方法,提供了大量应用系统开发中迫切需要,而用PowerBuilder无法实现的功能。该书为《PowerBuilderWin32API程序设计宝典基础卷》,全书共分六篇二十一章,内容包括PowerBuilderAPI基础,Windows系统版本、区域等信息获取,Windows系统控制面板、注册表访问、ODBC数据源设置、多媒体程序设计,系统通用对话框的调用,文件、目录和磁盘的访问与操作,以及如何通过API函数扩充窗口、菜单、按钮功能等内容。全书内容循序渐进,有非常强的针对性和实用性,书中提供了大量在应用开发中十分重要而PowerBuilder本身没有提供的功能,是带领读者快速进入API天地的开篇之作。本书可供具有一定PowerBuilder程序设计基础,而需要进一步扩充和了解PowerBuilder更多功能的程序员使用,也可供VisualBasic或Delphi等其它开发语言的程序员参考。

图书目录

第一篇 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.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