第1部分 应用程序组件 1
第1章 Splash屏幕 1
1.1 方案 1
1.2 技术 2
1.3 设计 2
1.4 实现 3
1.5 演示 8
1.6 局限性 11
1.7 扩展 12
第2章 产品许可 13
2.1 方案 13
2.2 技术 13
2.3 设计 14
2.4 实现 15
2.4.1 强名程序集 17
2.4.2 生成许可 18
2.4.3 生成公钥/私钥 20
2.5 演示 22
2.6 局限性 26
2.7 扩展 26
第3章 应用程序设置编写器 27
3.1 方案 27
3.2 技术 28
3.3 设计 28
3.4 实现 28
3.5 演示 32
3.6 局限性 34
3.7 扩展 34
第4章 自动部署 35
4.1 方案 35
4.2 技术 35
4.3 设计 37
4.3.1 防止浏览器闪烁 37
4.3.3 支持的应用程序配置文件 38
4.3.2 解决反串行化问题 38
4.4.1 Launcher类 39
4.4 实现 39
4.4.2 ConfigurationSettings类 42
4.5 演示 45
4.6 局限性 49
4.7 扩展 49
第5章 本地及远程进程启动器 50
5.1 方案 50
5.2 技术 50
5.3 设计 51
5.4 实现 52
5.5 演示 60
5.6 局限性 63
5.7 扩展 63
6.1 方案 64
6.2 技术 64
第6章 命令行参数分析器 64
6.3 设计 65
6.4 实现 66
6.5 演示 76
6.6 局限性 80
6.7 扩展 80
7.2 技术 81
7.1 方案 81
第7章 文本框有效性验证 81
第2部分 GUI与图形 81
7.3 设计 82
7.4 实现 83
7.5 演示 87
7.6 局限性 89
7.7 扩展 89
第8章 正则表达式文本框 91
8.1 方案 91
8.3 设计 92
8.2 技术 92
8.4 实现 93
8.5 演示 96
8.6 局限性 98
8.7 扩展 98
第9章 请求窗体字段验证器 99
9.1 方案 99
9.2 技术 99
9.4 实现 100
9.3 设计 100
9.5 演示 106
9.6 局限性 107
9.7 扩展 107
第10章 高亮显示RichTextBox中的内容 108
10.1 方案 108
10.2 技术 108
10.3 设计 109
10.4 实现 110
10.5 演示 118
10.6 局限性 119
10.7 扩展 119
第11章 ListView排序器 121
11.1 方案 121
11.2 技术 122
11.3 设计 122
11.4 实现 123
11.5 演示 127
11.6 局限性 129
11.7 扩展 129
第12章 文本图像生成器 130
12.1 方案 130
12.2 技术 130
12.3 设计 131
12.4 实现 131
12.5.2 类重写示例 136
12.5 演示 136
12.5.1 WinForms示例 136
12.5.3 WebForm示例 138
12.6 局限性 139
12.7 扩展 140
第3部分 网络与文件系统 141
第13章 流辅助工具 141
13.1 方案 141
13.2 技术 141
13.3 设计 142
13.4 实现 143
13.4.1 复制流 143
13.4.2 写入文件 144
13.4.3 向文件追加内容 145
13.4.4 转换成字符串 145
13.4.5 转换成图像 146
13.4.6 读、写任意对象 147
13.5 演示 151
13.6 局限性 155
13.7 扩展 155
第14章 灵活的套接字 156
14.1 方案 156
14.2 技术 157
14.3 设计 157
14.4 实现 159
14.4.1 SmartConnection 160
14.4.2 SmartListener 170
14.5 演示 172
14.6 局限性 177
14.7 扩展 178
第15章 内存映射的文件流 179
15.1 方案 179
15.2 技术 180
15.3 设计 180
15.4 实现 182
15.5 演示 196
15.6 局限性 200
15.7 扩展 200
第16章 MP3 ID3v1.1标记编辑器 201
16.1 方案 201
16.2 技术 201
16.3 设计 202
16.4 实现 203
16.5 演示 212
16.6 局限性 214
16.7 扩展 214
第17章 文件夹浏览器 215
17.1 方案 215
17.2 技术 216
17.3 设计 216
17.4 实现 217
17.4.1 实现Win32API类 217
17.4.2 实现FolderBrowser类 220
17.5 演示 226
17.6 局限性 227
17.7 扩展 227
第18章 接口定位器 228
18.1 方案 228
18.2 技术 228
18.3 设计 229
18.4 实现 229
18.5 演示 235
18.6 局限性 239
18.7 扩展 239
第19章 PeopleSearcher类 240
19.1 方案 240
19.2 技术 240
19.3 设计 241
19.4 实现 241
19.4.1 PeopleSearcher类 241
19.4.2 Person类 244
19.5 演示 246
19.6 局限性 248
19.7 扩展 248
第4部分 安全性 250
第20章 加密的通信程序 250
20.1 方案 250
20.2 技术 250
20.3 设计 252
20.4 实现 253
20.5 演示 261
20.6 局限性 263
20.7 扩展 264
第21章 XML Signing和Verification类 265
21.1 方案 265
21.2 技术 266
21.3 设计 266
21.4 实现 267
21.5 演示 274
21.5.1 签名演示 274
21.5.2 验证演示 276
21.6 局限性 279
21.7 扩展 279
第22章 文件系统安全性 280
22.1 方案 280
22.2 技术 280
22.3 设计 281
22.4 实现 282
22.5 演示 289
22.6 局限性 291
22.7 扩展 291
第23章 Principal Logon类 292
23.1 方案 292
23.2 技术 293
23.3 设计 293
23.4 实现 294
23.5 演示 297
23.6 局限性 297
23.7 扩展 298
第24章 Windows Logon类 299
24.1 方案 299
24.2 技术 299
24.3 设计 300
24.4 实现 300
24.5 演示 306
24.6 局限性 310
24.7 扩展 310
第25章 XML Logon类 312
25.1 方案 312
25.2 技术 313
25.3 设计 313
25.4 实现 315
25.5 演示 322
25.7 扩展 325
25.6 局限性 325
第5部分 模式和算法 327
第26章 Singleton(单态)模板 327
26.1 方案 327
26.2 技术 328
26.3 设计 330
26.4 实现 330
26.5 演示 332
26.6 局限性 337
26.7 扩展 338
第27章 双向链表 339
27.1 方案 339
27.2 技术 339
27.3 设计 340
27.4 实现 341
27.5 演示 353
27.7 扩展 356
27.6 局限性 356
28.1 方案 357
28.2 技术 357
第28章 对分搜索树 357
28.3 设计 359
28.4 实现 360
28.5 演示 368
28.6 局限性 371
28.7 扩展 371
29.1 方案 372
第29章 CRC-32计算器 372
29.2 技术 373
29.3 设计 373
29.4 实现 374
29.5 演示 380
29.6 局限性 381
29.7 扩展 381
30.4 实现 382
30.3 设计 382
第30章 Huffman编码 382
30.2 技术 382
30.1 方案 382
30.4.1 HuffmanEngine类 383
30.4.2 SymbolTable类 385
30.4.3 HuffmanNode类 391
30.4.4 CodeArray类 394
30.4.5 StackBinaryTree类 396
30.5 演示 403
30.6 局限性 405
30.7 扩展 405
附录 Appendix支持、勘误表和代码下载 406
A.1 如何下载本书的示例代码 406
A.2 勘误表 406
A.3 E-Mail支持 407
A.4 p2p.wrox.com站点 408