《Visual Basic 5.0 Win32 API开发人员指南》PDF下载

  • 购买积分:30 如何计算积分?
  • 作  者:(美)Dan Appleman著;京京翻译组译
  • 出 版 社:机械工业出版社;西蒙与舒斯特国际出版公司
  • 出版年份:1998
  • ISBN:7111065395
  • 页数:1216 页
图书介绍:

序 1

引言 1

第一部分WindowsAPI 1

第1章DLL和API 1

1.1从DOS到Windows 1

目录 1

1.2动态链接库(DLL) 2

1.2.1静态链接 2

1.2.2动态链接 4

1.2.3VisualBasic和DLL 5

1.3应用程序编程接口(API) 5

1.4五花八门的Windows 7

1.4.2无穷无尽的扩展库 8

1.4.1主要的WindowsDLLs 8

1.5变化中的VisualBasic 9

第2章初步认识Windows 10

2.1VisualBasic与Windows的联系 10

2.1.1VisualBasic综述 10

2.1.2Windows综述 11

2.1.3将VisualBasic的概念转换到Windows里 11

2.2深入Windows内部 12

2.2.1什么是窗口? 12

2.2.2窗口属于不同的类 12

2.2.3窗口有样式 14

2.2.4其他窗口属性 15

2.2.5窗口函数 16

2.2.6超类和VisualBasic控件 17

2.2.7VisualBasic与Windows的关系回顾 22

2.3Windows里的图形输出 22

2.3.1图形设备接口 23

2.3.2设备场景 23

2.3.3内存设备场景 25

2.4对象的句柄 25

2.5接下去做什么 27

第3章VisualBasic-Windows接口 28

3.1声明语句 28

3.2Unicode、ANSI和别名 29

3.2.1VisualBasic、ANSI和Unicode 30

3.2.2访问适当的函数 32

3.2.3API调用结果 33

3.3DLL参数 33

3.3.1参数列表 33

3.3.2DLL参数类型和记号法 35

3.3.3参数类型入门 37

3.3.48位数值参数 37

3.3.516位数值参数 38

3.3.632位数值参数 39

3.3.7货币参数 40

3.3.8浮点参数 40

3.3.9变体 41

3.3.10句柄(Windows对象) 41

3.3.11对象(VisualBasic和OLE) 41

3.3.12旗标与位域 42

3.3.13字符串 45

3.3.14数值指针 46

3.3.15结构指针 47

3.3.16数组指针 48

3.3.17函数指针 49

3.3.18能接收多种类型的参数 50

3.4API/DLL调用是如何工作的 51

3.4.1堆栈帧 51

3.4.2返回值 54

3.4.3理论之外的东西 55

4.1.1“类型安全”声明 56

4.1API编程技术 56

第4章实际的API编程 56

4.1.2发送消息 57

4.1.3模块化编程 58

4.1.4API声明文件及工具 58

4.2将API文件转换到VisualBasic 60

(第1部分——函数) 60

4.3为16和32位平台编写程序(仅适用于VB4) 65

4.3.1条件编译 66

4.3.2要区分平台的编码 68

4.3.3示例:专用初始化文件 68

(修订版) 68

4.3.4条件编译无效时怎么办 77

4.4.1发生了变化的函数 78

4.4移植现有的16位代码 78

4.4.2弃之不用的函数 79

4.4.3消息的移植 80

4.4.4与向Windows体系的过渡有关的移植问题 82

4.5将API文件转换到VisualBasic(第2部分——文件与结构) 82

4.5.1示例:TrueType字体浏览器 82

4.5.2移植时要注意的问题 96

4.6API代码的调试 96

4.7接下去做什么 99

第二部分WindowsAPI函数 101

第5章Windows控件与信息函数 101

5.1矩形和画点函数 101

5.1.1RECT结构 101

5.1.2POINTAPI结构 102

5.1.3矩形函数与RectPlay示例 105

5.2Windows控件与信息函数 116

5.2.1窗口级别与标识函数 116

5.2.2窗口位置与大小函数 119

5.2.3窗口信息函数 121

5.2.4输入焦点、前台与输入状态 121

5.2.5Statevw示例 124

5.3其他窗口函数 130

5.4窗口样式索引 153

5.4.1对话框样式 160

5.4.2对进一步实践的建议 160

5.5函数索引 160

6.1.1指针剪切 195

第6章硬件及系统函数 195

6.1鼠标、指针和插入符函数 195

6.1.2指针位置 196

6.2其他鼠标及指针函数 196

6.3键盘和其他输入函数 198

6.3.1字符集重述 198

6.3.2扫描码和虚拟键 199

6.3.3虚拟键码 201

6.3.4地方 203

6.3.5输入控制函数 204

6.4时间函数 205

6.5系统信息和控制函数 206

6.6.1Syslnfo的使用 210

信息观察器 210

6.6示例:Syslnfo——一个系统 210

6.6.2项目说明 211

6.7模拟击键和鼠标事件 227

6.8函数索引 238

第7章设备场景 286

7.1设备场景入门 286

7.1.1设备场景背后的机理 286

7.1.2剪裁 287

7.1.3坐标转换 288

7.1.4深入设备场景 288

7.2设备场景的使用 290

7.2.1获得设备场景 291

7.2.3在VisualBasic中使用设备场景 292

7.2.2设备场景属性 292

7.3设备场景信息函数 295

7.4缩放和坐标系统 299

7.4.1逻辑坐标和设备坐标 299

7.4.2映射模式 301

7.4.3窗口和视口——范围和起点 301

7.4.4世界转换 304

7.4.5Windows坐标系统与VisualBasic 307

7.4.6平台间的差异 307

7.4.7Viewport示例 307

7.5剪裁、区域和其他设备场景函数 326

7.5.2剪裁 327

7.5.1区域 327

7.5.3校验和其他设备场景函数 328

7.5.4对性能的考虑 329

7.5.5示例:Region 329

7.6函数索引 342

第8章绘图函数 373

8.1图形输出综述 373

8.2GDI绘图对象 374

8.2.1绘图对象的创建 374

8.2.2GDI对象的选定和删除规则 375

8.2.3画笔 376

8.2.4刷子 376

8.2.5GDI对象和VisualBasic 377

8.3绘图属性 378

8.3.1线光栅操作 379

8.3.2背景模式 379

8.3.3当前位置 379

8.4绘图函数 380

8.5路径 381

8.6综合运用:按例学习 383

8.6.1示例:Path.vbp 383

8.6.2示例:ExtPen.vbp 391

8.6.3示例:Bezier.vbp 402

8.7图元文件 408

8.8综合运用Ⅱ:其他例子 410

8.8.2使用QuikDraw 411

8.8.1示例:QuikDraw——一个简单的绘图程序 411

8.8.3示例:Analyze——深入图元文件内部 442

8.9函数索引 450

第9章位图、图标和光栅运算 496

9.1位图 496

9.1.1像素的显示 497

9.1.2颜色与设备调色板 497

9.1.3与设备有关的位图 501

9.1.4颜色转换 504

9.1.5在VisualBasic里使用位图 504

9.2与设备无关的位图 505

9.2.1动态调整大小的结构 505

9.2.2DIB结构 507

9.2.3DIBSection 509

9.3图标与指针 511

9.4光栅运算 513

9.5示例 515

9.5.1StockBMs——固有位图和图标观察器 515

9.5.2ROPTest——光栅运算试验程序 521

9.5.3Puzzle——分裂位图还原程序 532

9.5.4DIBSect——演示如何使用DIBSection对象 550

9.6函数索引 558

第10章菜单的使用 580

10.1深入菜单系统 580

10.1.1Windows菜单的工作原理 580

10.1.2标准和扩展菜单 583

工作的 584

10.1.3VisualBasic菜单是如何 584

10.2在VB里使用菜单API函数 587

10.2.1创建定制的复选符号 587

10.2.2用位图定制菜单 587

10.2.3追踪弹出式菜单 588

10.2.4创建VB菜单控件池 588

10.2.5菜单、系统菜单和子类 589

10.2.6获取与VB菜单结构有关的信息 589

10.3示例 589

10.3.1MenuLook——菜单结构观察器 589

10.3.2SysMenu——演示系统和上下文关联菜单 613

10.4函数索引 618

11.1.1字体入门 635

11.1字体的使用 635

第11章文本和字体 635

11.1.2理解字体属性 637

11.2字体宽度 637

11.3字体大小 638

11.4字体家族 640

11.5字符集 641

11.6发音符、连字和Kashida 642

11.7创建逻辑字体 643

11.8GDI字体映射 643

11.9字体信息函数 644

11.10添加和删除字体 644

11.11TEXTMETRIC和NEWTEXTMETRIC结构字段 646

11.12.1文字的描绘过程 648

11.12文字的描绘 648

11.12.2文本范围及对齐 649

11.13示例 649

11.13.1FontView示例 649

11.13.2TextDemo示例 661

11.13.3DrawText.vbp示例 667

11.13.4EnmFntX示例 669

11.14函数索引 676

第12章打印 696

12.1在Windows里打印 696

12.1.1打印机设备场景 696

12.1.2Win32打印子系统 697

12.1.4打印顺序 699

12.1.3打印机的配置 699

12.2打印和VisualBasic 702

12.2.1兼容问题 702

12.2.2打印机配置与VisualBasic 703

12.2.3驱动程序的问题 703

12.3打印机设置及DEVMODE结构 703

12.4对后台打印程序的控制 706

12.5示例 710

12.5.1PicPrint——打印一幅位图,并显示打印机的配置 710

12.5.2DocJob.vbp——将输出导向至打印机 729

12.5.3Spooler.vbp——使用API函数的另一种形式 732

12.6函数索引 741

第13章文件处理 772

13.1应该用什么类型的文件访问? 773

13.1.1专用的初始化文件 773

13.1.2系统注册表 773

13.1.3专用文件格式 774

13.1.4数据库 774

13.1.5OLE结构化存储 774

13.2初始化文件 774

13.3系统注册表 776

13.4文件和目录处理 779

13.4.1Win32文件函数 780

13.4.2对压缩文件的操作 783

13.5文件映射(是文件,还是内存?) 784

何在? 785

13.5.1内存映射文件的重要性 785

13.5.2内有映射文件到底重要在哪里? 786

13.6版本标记 787

13.6.1版本标记与VisualBasic 787

13.6.2版本资源数据结构 787

13.7示例 791

13.7.1FileDemo——初始化文件、注册表和版本标记演示程序 792

13.7.2CkServe/CkClient——协作式应用程序 802

13.7.3Disk.vbp——磁盘剩余空间工具 814

13.8函数索引 820

第14章进程与线程 881

14.1进程、线程与实例 881

14.1.1有关多任务的情况 881

14.1.2任务、进程与同步 883

14.1.3线程 884

14.1.4实例 885

14.2系统与同步对象 886

14.2.1使用系统对象 886

14.2.2Mutex、信号机、事件和侍服式记时器 888

14.2.3同步与VisualBasic 891

14.3应用程序的启动 892

14.3.1进程与线程对象 892

14.3.2判断其他应用程序何时关闭 894

14.4进程间通信 895

14.4.1管道 895

14.4.2邮路 897

14.5.1ckServe/ckClient:协作式应用程序重述 898

14.5示例 898

14.5.2Launch.vbp:启动应用程序 902

14.5.3dwWatch.vbp:与OLE回调同步 909

14.5.4PipeSrc.vbp/PipeDest.vpb:匿名管道示例 916

14.5.5PipeClnt.vbp/PipeSrv.vpb:命名管道示例 923

14.5.6PipeClnt.vbp示例 929

14.6函数索引 932

第15章内存、字符串、结构及资源 967

15.1内存和字符串 967

15.1.1用VisualBasic创建缓冲区 967

15.1.2用Windows创建缓冲区 968

15.1.3在VisualBasic里使用全局内存块 973

15.1.4字符串函数 975

15.2VisualBasic和Windows接口:核心版本 976

15.2.1高级结构技术 977

15.2.2结构中的固定串 980

15.2.3结构中的动态串 980

15.3资源 985

15.3.1资源与Windows应用程序 985

15.3.2资源与VisualBasic 987

15.3.3资源API函数 987

15.4原子与属性 989

15.4.1原子 989

15.4.2属性函数 990

15.5函数索引 991

16.1.1Windows事件消息 1027

16.1消息控制 1027

第16章常见的Windows消息 1027

第三部分Windows消息 1027

16.1.2执行操作的消息 1028

16.1.3消息组织 1028

16.1.4发送消息 1029

16.1.5消息参数 1030

16.1.6能返回值的消息 1030

16.1.7注册消息 1030

16.1WM_COMMAND消息 1031

16.2对VisualBasic有用的消息 1031

16.3VisualBasic和子类 1032

16.4函数索引 1034

16.5消息索引 1039

17.1.1撤消功能 1073

17.1.2文本格式化 1073

第17章编辑控件消息 1073

17.1文本控件 1073

17.1.3选定与显示 1074

17.2示例:TextMsgs——编辑控件消息的演示 1075

17.2.1使用TextMsgs 1076

17.2.2项目说明 1076

17.2.3窗体说明 1076

17.2.4TextMsgs程序清单 1079

17.3通告消息(编辑控件) 1083

17.4编辑控件消息 1085

18.1.1选定和数据消息 1094

18.1列表控件 1094

第18章列表框、组合框和按钮消息 1094

18.1.2显示消息 1095

18.2组合框控件 1096

18.3按钮控件 1098

18.4通知消息(列表、组合框、按钮) 1098

18.5组合框控件消息 1101

18.6列表框控件消息 1105

18.7按钮控件消息 1115

第四部分API编程实践 1117

第19章在VB里使用API调用——软件设计中的权衡 1117

19.1用WindowsAPI改善性能 1117

19.1.1性能评测 1117

19.1.2性能评测示例:VisualBasic与基于API的图形 1122

19.2使用WindowsAPI时要功能与安全兼顾 1124

19.3设计选择 1129

19.3.1比较 1130

19.3.2问题 1131

19.4在实践中学习 1132

第20章构建API类库 1134

20.1类库设计 1134

20.1.1API类库的设计标准 1134

20.1.2类的选择 1135

20.2类库的实现 1137

20.2.1函数名和参数 1137

20.2.2结构的封装 1138

20.2.3对象的封装 1140

20.2.4常数的运用 1143

20.2.5出错控制 1145

20.2.6综合运用:dwDeviceContext类 1145

20.3使用类库 1148

20.3.1使用dwRECT 1148

20.3.2使用dwWindow 1149

20.3.3使用dwSystem类 1149

20.3.4使用dwDeviceContext 1150

第21章串行通信 1152

21.1串行通信入门 1152

21.1.1串行数据格式 1153

21.1.3DTEandDCE 1154

21.1.2TheRS-232Standard 1154

21.1.4数据信号 1155

21.1.5流控制 1156

21.2Windows串行通信驱动程序 1156

21.2.1串行驱动程序的结构 1156

21.2.2使用串行驱动程序 1157

21.2.3串行驱动程序的事件 1158

21.2.4“中断”状态 1158

21.2.5通信驱动程序和并行端口 1159

21.2.6配置串行端口和设备控制块 1159

21.2.7了解串口状态 1159

21.2.8串行驱动程序API函数 1159

21.4函数索引 1160

21.3示例:CommDemo——一个简单的终端程序 1160

第22章网络函数 1169

22.1Windows与网络 1169

22.2WNet函数和类 1170

22.2.1类结构 1170

22.2.2网络错误控制 1171

22.3枚举网络资源 1172

22.3.1dwNetResource类 1174

22.3.2声明、数据和初始化 1174

22.4示例:Treenet.vbp——一个网络浏览实用程序 1178

22.5函数索引 1178

第23章API类型库 1186

23.1什么是类型库? 1186

23.2ODL文件语法 1188

23.2.1结构声明 1189

23.2.3枚举定义 1190

23.2.4常数和函数定义 1190

23.3类型库的优缺点 1191

23.4DesawareAPI类型库 1191

第五部分附录 1193

附录A使用回调、APIGID32.DLL、 1193

dwcbk32d.ocx和desbc32d.ocx 1193

附录BWindows数据结构 1205

附录CWindows文件格式 1206

附录DVisualBasic→DLL调用转换: 1210

技术性总结 1210

附录E光栅运算表 1216