第一部分 Windows 2000高级编程入门 2
第1章 Windows 2000高级编程基础 2
1.1 Windows 2000的新特性 2
1.2 Visual C++6.0简介 3
1.3 Visual C++的系统工具 5
1.3.1 向导 5
1.3.2 资源与资源编辑器 6
1.4 编写MFC普通窗口程序 7
1.5 Win32控制台程序 16
1.6 基于对话框的应用程序 18
1.7 Visual Basic应用程序 33
1.8 Java应用程序 35
第2章 单文档界面(SDI) 39
2.1 切分窗口 39
2.2 CSplitterWnd类 40
2.3 多视图选择 41
2.4 动态与静态切分窗口 42
2.5 树形视图和CTree View类 43
2.6 列表视图和CList View类 45
2.7 SdiDemo应用程序 47
2.7.1 创建SDI应用程序 47
2.7.2 添加应用程序的资源 47
2.7.3 实现CMyTreeView类 52
2.7.4 实现CMyListView类 55
2.7.5 实现CMainFrame类 61
2.7.6 运行应用程序 69
第3章 多文档界面(MDI) 71
3.1 文档与视图 71
3.1.1 CDocument类 71
3.1.2 CView类 72
3.1.3 文档/视图相互作用处理的函数 73
3.1.4 最简单的文档/视图应用 75
3.2 滚动视图和CScrollView类 76
3.3 格式视图与CFormView类 77
3.4 文档模板 78
3.4.1 文档模板的构成 78
3.4.2 文档模板的创建 79
3.5 创建单视图类的MDI应用程序 80
3.6 生成带双视图类的MDI 86
3.6.1 添加应用程序的资源 86
3.6.2 完成CEnterView类 88
3.6.3 完成CTextView类 94
3.6.4 完成CStaticSplitFrm类 97
3.6.5 添加文档模板 102
3.6.6 运行应用程序 106
第4章 动态链接库 108
4.1 动态链接和静态链接 108
4.2 使用DLL的优点 108
4.3 DLL编程基础 109
4.3.1 函数的导入与导出 109
4.3.2 C连接说明 109
4.3.3 搜索DLL 110
4.4 普通的DLL 110
4.4.1 理解普通DLL的本质 111
4.4.2 动态加载DLL 112
4.4.3 实现普通的DLL应用程序 113
4.5 编写DLL的测试程序 116
4.6 扩展MFC DLL 121
4.6.1 初始化扩展DLL 121
4.6.2 动态加载扩展DLL 122
4.6.3 输出扩展型DLL 122
4.6.4 实现MFC扩展DLL 122
4.7 编写MyDll2的测试程序 126
第5章 多任务编程 130
5.1 进程、线程和优先级 130
5.2 工作线程和用户界面线程的创建 132
5.2.1 启动线程 132
5.2.2 线程函数 133
5.2.3 线程返回码 133
5.3 使用工作线程示例 134
5.4 创建用户界面线程(UI)示例 138
5.5 线程的挂起及唤醒 143
5.6 线程休眠 144
5.7 线程同步 144
5.7.1 使用事件对象 145
5.7.2 使用临界段 164
5.7.3 使用互斥量 170
5.7.4 使用信号量 172
5.8 线程的终止 172
5.9 如何编写基于进程的多任务操作 176
第二部分 COM+组件编程 180
第6章 COM+概述 180
6.1 何谓COM+技术 180
6.2 COM+技术的产生 181
6.2.1 代码重用 181
6.2.2 组件 181
6.2.3 开发维护 182
6.3 COM+技术的发展 182
6.3.1 从OLE到COM+ 182
6.3.2 RPC和COM+ 183
6.3.3 从COM到COM+ 183
6.4 COM+所具备的优点 183
6.5 COM+所具备的功能 184
第7章 ATL和COM+组件 189
7.1 概述 189
7.2 创建ATL应用程序框架 190
7.3 往项目中添加ATL对象 195
7.4 为COM+组件添加方法 198
7.5 实现组件对象中的方法 200
7.6 编译IDL文件 202
7.7 创建并运行DllAtl 205
7.8 编写COM+组件测试程序 206
7.9 测试COM+组件 209
第8章 深入探析COM+组件的实现原理 211
8.1 概述 211
8.2 接口定义语言 212
8.3 组件程序 215
8.3.1 IUnknown接口 217
8.3.2 ICalculate接口 219
8.3.3 IClassFactory接口 220
8.3.4 DIL导出函数 223
8.3.5 完成模块文件 226
8.3.6 运行组件程序 226
8.3.7 注册组件 232
8.4 客户程序 242
8.4.1 CoInitializeEx函数 242
8.4.2 CoCreateInstance函数 243
8.4.3 IUnknown接口 246
8.4.4 调用ICalculate定义的方法 247
8.4.5 CoUnintialize函数 247
8.4.6 完成客户项目 248
8.4.7 v-table 249
8.4.8 测试组件客户程序 249
第9章 COM+在多种语言编程中的应用 251
9.1 Visual Basic的COM+编程 251
9.1.1 用VB创建使用COM+组件的客户程序 251
9.1.2 剖析VB中的COM+程序 257
9.2 在Visual Java中使用组件 259
9.2.1 用VJ创建使用COM+组件的客户程序 259
9.2.2 剖析VJ中的COM+程序 262
第三部分 ActiveX编程 268
第10章 容器应用程序 268
10.1 容器程序的实现过程 268
10.2 创建容器的框架程序 269
10.3 运行容器框架程序 270
10.4 深入了解容器应用程序 273
10.4.1 COleDocument类 273
10.4.2 COleClientltem类 274
10.5 管理嵌入对象的大小和位置 277
10.6 运行容器应用程序 280
10.7 使用鼠标选取项 281
10.7.1 鼠标选取项涉及知识 282
10.7.2 使用鼠标选取项 282
10.8 删除嵌入的对象 290
10.9 ContainterDemo的部分程序清单 292
第11章 服务器应用程序 306
11.1 实现服务器应用程序的过程 306
11.2 创建服务器的框架程序 307
11.3 深入了解服务器应用程序 309
11.3.1 COleTemplateServer类 309
11.3.2 COleServerDoc类 310
11.3.3 COleServerltem类 311
11.4 完善视图类 312
11.5 完善文档类 317
11.6 单独运行服务器程序 320
11.7 完善服务器项类 320
11.8 以嵌入方式运行服务器 321
11.9 以链接方式运行服务器 322
11.10 ServerDemo的部分程序清单 324
第12章 自动化 331
12.1 自动化概述 331
12.1.1 IDispatch接口 331
12.1.2 自动化服务器应用程序 332
12.1.3 自动化客户应用程序 333
12.2 自动化服务器应用程序 333
12.2.1 创建自动化服务器的框架程序 333
12.2.2 往接口中添加属性和方法 336
12.2.3 完成文档类 338
12.2.4 完成视图类 342
12.2.5 独立运行AutoServer应用程序 342
12.3 自动化客户程序 343
12.3.1 创建自动化客户程序的框架程序 343
12.3.2 完成应用程序的资源 346
12.3.3 为CAutoClientDlg类添加成员变量和成员函数 347
12.3.4 引入类型库 349
12.3.5 完成CAutoClientDlg类 349
12.3.6 运行AutoClient程序 351
12.3.7 AutoClient的部分程序清单 352
第13章 ActiveX控件 361
13.1 ActiveX/OLE控件 361
13.2 ActiveX控件的属性集 361
13.2.1 属性 362
13.2.2 事件 363
13.2.3 方法 363
13.3 创建控件的框架应用程序 363
13.4 完成ActiveX控件 369
13.5 ActiveCtrl程序的部分程序清单 373
第四部分 Internet编程 386
第14章 Internet编程和用Winlnet类进行Internet编程 386
14.1 Sockets,MAPI和Internet 386
14.1.1 使用WinInet类 386
14.1.2 使用Windows Sockets 388
14.1.3 使用消息收发API(MAPI) 390
14.1.4 使用Internet服务器API(ISAPI)类 392
14.2 WinInet类 393
14.3 用WinInet类进行Internet编程 397
第15章 Internet ActiveX控件 415
15.1 Internet ActiveX控件相关知识简介 415
15.1.1 插入ActiveX控件的HTML语句 415
15.1.2 控件的初始化 418
15.2 创建一个ActiveX控件 420
15.3 在Web页中插入ActiveX控件 425
15.3.1 使用<OBJECT>语句在Web页中插入ActiveX控件 425
15.3.2 在Netscape Navigator Web页中插入ActiveX控件 429
15.4 注册ActiveX控件 431
第16章 使用CHtmlView浏览Web网页 437
16.1 Web网页浏览知识简介 437
16.1.1 网络浏览器 437
16.1.2 CHtmlView类简介 438
16.2 使用CHtmlView类创建自己的Web浏览器 443
16.3 设置默认网页和打开网页的实现 453
附录 光盘使用说明及程序实例目录 463