?? index.txt
字號:
目 錄
譯者序
前言
第1章 縱覽Windows 2000 1
1.1 新的語言 1
1.2 Windows簡史 2
1.2.1 Windows NT 3
1.2.2 Windows 95 3
1.2.3 其他方面 4
1.3 Windows版本 4
1.4 Windows體系結(jié)構(gòu) 5
1.4.1 實(shí)際情況 6
1.4.2 Win95與Win98 6
1.5 Windows的特性與差別 7
1.5.1 多任務(wù)處理與線程處理 7
1.5.2 UNICODE 9
1.5.3 文件系統(tǒng)問題 9
1.5.4 DLL 10
1.6 開發(fā)工具 10
1.7 直接解答 11
1.7.1 開發(fā)工具的選擇 11
1.7.2 Windows 的體系結(jié)構(gòu) 11
1.7.3 理解進(jìn)程 11
1.7.4 從C++中調(diào)用API 12
1.7.5 從VB中調(diào)用API 12
1.7.6 從Visual J++中調(diào)用API 12
1.7.7 Internet資源 13
第2章 ActiveX 配套工具 14
2.1 ActiveX與Java 15
2.2 定義 15
2.3 ActiveX對象的結(jié)構(gòu) 16
2.4 對象 17
2.5 代碼的重用 18
2.6 多態(tài)性 19
2.7 幾個(gè)其他的ActiveX特性 20
2.7.1 HRESULT和SCODE 20
2.7.2 GUID/UUID/IID 20
2.8 關(guān)于IUnknown 21
2.9 創(chuàng)建對象和尋找界面 22
2.10 關(guān)于索引的計(jì)數(shù) 23
2.11 關(guān)于聚集 23
2.12 奇妙的特性 24
2.12.1 預(yù)定義界面 25
2.12.2 類型庫 25
2.12.3 代理程序、承接程序、調(diào)度程序 25
2.12.4 關(guān)于多線程 27
2.13 ActiveX/C++的連接 27
2.14 為什么不直接使用C++ 28
2.15 系統(tǒng)注冊表 28
2.16 注冊表:在近親的和個(gè)人的之上 28
2.17 注冊表的奇妙之處 30
2.17.1 RegEnumValue 30
2.17.2 RegDeleteKey 30
2.17.3 錯(cuò)誤返回 31
2.17.4 數(shù)據(jù)類型 31
2.17.5 檢查注冊表代碼 31
2.18 操作注冊表 32
2.19 注冊對象 32
2.20 類的安裝 34
2.21 使用REGEDIT 34
2.22 自注冊 35
2.22.1 自注冊EXE文件 36
2.22.2 自注冊DLL文件 36
2.23 人格化對象 36
2.24 類型庫 37
2.24.1 類型庫在哪里 38
2.24.2 創(chuàng)建類型庫 39
2.24.3 類型庫的隱蔽 41
2.25 宏 42
2.26 了解客戶的基礎(chǔ) 42
2.27 簡單的服務(wù)器程序設(shè)計(jì) 45
2.27.1 一般服務(wù)器程序的發(fā)布 46
2.27.2 服務(wù)器程序的用法 46
2.27.3 類站 46
2.28 簡單的客戶程序 46
2.29 EXE服務(wù)程序 48
2.29.1 如何運(yùn)作 53
2.29.2 沒有取值 54
2.29.3 調(diào)度程序 54
2.29.4 編寫Script 55
2.29.5 現(xiàn)在就運(yùn)行 56
2.29.6 關(guān)于服務(wù)器程序 56
2.30 DLL服務(wù)器程序 56
2.31 支持多界面 60
2.32 MFC技術(shù) 61
2.32.1 MFC的EXE服務(wù)器程序 61
2.32.2 其他考慮 70
2.32.3 MFC的DLL服務(wù)器程序 70
2.33 MFC聚合 71
2.34 IDispatch 72
2.34.1 BSTR、SAFEARRAY及
VARIANT 73
2.34.2 返回Invoke 76
2.34.3 簡化IDispatch 77
2.34.4 綁定時(shí)間和效率 85
2.35 新領(lǐng)域:COM+ 85
2.36 直接解答 87
2.36.1 在命令解釋程序中的ActiveX 87
2.36.2 了解注冊表 88
2.36.3 公用界面指南 89
2.36.4 對IDispatch使用MFC 89
2.36.5 對最初的界面使用MFC 89
2.36.6 關(guān)于ATL 89
第3章 進(jìn)程、線程和纖程 90
3.1 其他操作系統(tǒng) 90
3.2 進(jìn)程 91
3.3 CreateProcess 93
3.4 作業(yè)與工作區(qū) 97
3.5 線程 97
3.6 MFC 和線程 99
3.7 線程的局部存儲 100
3.8 纖程 103
3.9 APC 104
3.10 直接解答 106
3.10.1 運(yùn)行新程序—最容易的方式 106
3.10.2 運(yùn)行新程序—有點(diǎn)難度的方
式 106
3.10.3 運(yùn)行新程序—最難的方式 106
3.10.4 等待程序完成,設(shè)置(或讀取)退
出代碼 107
3.10.5 用Windows API創(chuàng)建新線程 107
3.10.6 用C++庫創(chuàng)建新線程 107
3.10.7 使用線程與MFC 107
3.10.8 創(chuàng)建MFC工作線程 108
3.10.9 創(chuàng)建MFC 的UI線程 108
3.10.10 使窗口和消息對話框顯示在上
面 109
3.10.11 獲得進(jìn)程和線程的句柄 109
3.10.12 等待線結(jié)束,設(shè)置(或讀取)
線程退出代碼 109
3.10.13 操縱MFC線程 110
3.10.14 了解MFC返回值 111
3.10.15 完整的MFC示例 111
3.10.16 使用線程局部存儲 117
3.10.17 使用纖程 117
3.10.18 有選擇地使用線程 118
第4章 同步 119
4.1 定義問題 119
4.1.1 情況一 120
4.1.2 情況二 120
4.1.3 情況三 121
4.2 關(guān)于同步 121
4.3 同步的細(xì)節(jié) 121
4.4 互鎖命令 122
4.5 細(xì)說事件 123
4.6 細(xì)說多用戶終端執(zhí)行程序 124
4.7 細(xì)說信號量程序 126
4.8 安全同步 127
4.9 使用WaitForMultipleObjects 127
4.10 能報(bào)警的等待 128
4.11 可等待的計(jì)時(shí)器 128
4.12 臨界區(qū) 128
4.13 主要示例 130
4.14 其他可等待的句柄 137
4.14.1 改變標(biāo)志信息 137
4.14.2 控制平臺句柄 137
4.15 直接解答 138
4.15.1 選擇同步的方法 138
4.15.2 避免死鎖 139
4.15.3 使用事件 140
4.15.4 使用多用戶終端執(zhí)行程序 140
4.15.5 使用臨界區(qū) 140
4.15.6 使用信號量程序 141
4.15.7 等待多個(gè)對象 141
4.15.8 使用互鎖的變量 141
4.15.9 了解MFC和同步 142
第5章 文件I/O 147
5.1 為什么異步I/O 148
5.2 回顧文件I/O 148
5.3 使用線程 151
5.4 重疊I/O 152
5.4.1 完成I/O 152
5.4.2 使用事件 153
5.4.3 使用ReadFileEx和WriteFileEx 153
5.4.4 EOF檢測 153
5.5 I/O完成端口 154
5.6 應(yīng)用程序的示例 154
5.7 完成端口示例 158
5.8 訪問文件的另外方式 162
5.9 示例 162
5.10 直接解答 166
5.10.1 打開文件 166
5.10.2 同步讀/寫文件 166
5.10.3 檢測EOF(同步) 166
5.10.4 復(fù)制文件句柄 167
5.10.5 關(guān)閉文件 167
5.10.6 使用異步I/O的方法 167
5.10.7 利用線程使用異步I/O 167
5.10.8 啟動(dòng)重疊I/O 169
5.10.9 結(jié)束異步I/O 170
5.10.10 檢測EOF(異步) 170
5.10.11 使用ReadFileEx和Write
FileEx 170
5.10.12 使用完成端口 171
5.10.13 存儲器映像文件 171
第6章 進(jìn)程間的通信 172
6.1 為什么重要 173
6.2 Windows 2000的IPC機(jī)制綜述 174
6.3 簡單的IPC 176
6.4 將DLL用于共享存儲器 182
6.5 其他共享存儲器技術(shù) 185
6.6 匿名管道 186
6.7 命名管道 189
6.7.1 使用管道 189
6.7.2 消息模式管道 189
6.7.3 其他管道命令 189
6.8 郵件通道 190
6.9 關(guān)于網(wǎng)絡(luò)接口 198
6.9.1 網(wǎng)絡(luò)接口 199
6.9.2 啟動(dòng)服務(wù)器程序 200
6.9.3 啟動(dòng)客戶程序 201
6.9.4 Windows網(wǎng)絡(luò)接口 201
6.9.5 更多的網(wǎng)絡(luò)接口 202
6.9.6 關(guān)于跳棋程序 203
6.9.7 特殊考慮 217
6.9.8 改進(jìn) 218
6.10 MFC網(wǎng)絡(luò)接口 218
6.10.1 關(guān)于CSocket 219
6.10.2 使用有CSocket的檔案文件 220
6.10.3 更進(jìn)一步的CAsyncSocket 220
6.10.4 封鎖命令 220
6.10.5 示例 221
6.10.6 基本架構(gòu) 221
6.10.7 加入客戶網(wǎng)絡(luò)接口 234
6.10.8 其他考慮 235
6.10.9 網(wǎng)絡(luò)接口的包裝 236
6.11 關(guān)于RPC 236
6.11.1 RPC理論 236
6.11.2 實(shí)踐中的RPC 237
6.11.3 一步一步地編寫RPC 237
6.11.4 在IDL文件內(nèi) 241
6.11.5 編寫客戶程序 242
6.11.6 編寫服務(wù)器程序 242
6.11.7 實(shí)現(xiàn)連接 243
6.11.8 更多內(nèi)容 243
6.12 Microsoft消息隊(duì)列 243
6.13 直接解答 244
6.13.1 IPC方法的綜述 244
6.13.2 使用 WM_COPYDATA 245
6.13.3 使用共享存儲器的DLL 246
6.13.4 文件映像共享存儲器 246
6.13.5 使用匿名管道 247
6.13.6 使用命名管道 247
6.13.7 用管道替代標(biāo)準(zhǔn)句柄 248
6.13.8 使用郵件通道 248
6.13.9 使用網(wǎng)絡(luò)接口 248
6.13.10 使用RPC 249
6.13.11 了解何時(shí)舍棄或少用IPC方法 250
第7章 存儲器管理 251
7.1 為什么存儲器管理會(huì)帶來麻煩 251
7.2 存儲器分頁 252
7.3 使用VirtualAlloc 252
7.4 實(shí)際上的VirtualAlloc 253
7.5 使用頁面屬性 255
7.6 使用堆棧 259
7.7 直接解答 261
7.7.1 何時(shí)使用VirtualAlloc 261
7.7.2 使用VirtualAlloc與VirtualFree 261
7.7.3 設(shè)置頁面保護(hù) 262
7.7.4 讀取頁面保護(hù) 262
7.7.5 響應(yīng)異常事件 262
7.7.6 創(chuàng)建新堆棧 263
7.7.7 查找默認(rèn)堆棧 263
7.7.8 分配與釋放堆棧數(shù)據(jù) 263
7.7.9 壓縮堆棧 264
7.7.10 調(diào)試堆棧 264
7.7.11 堆棧性能的考慮 264
第8章 Windows 的安全 265
8.1 安全的目標(biāo) 265
8.2 特權(quán)與授權(quán) 266
8.3 用NULL填充 267
8.4 SID 268
8.5 ACE和ACL 268
8.6 安全對象的類型 269
8.7 使用默認(rèn)值 269
8.8 建立SD 270
8.9 令牌與人格化 271
8.10 建立專斷的ACL 271
8.11 使用AccessCheck 275
8.12 專用安全性 275
8.13 特權(quán) 279
8.14 Kerberos 279
8.15 直接解答 280
8.15.1 了解對象的擁有者 280
8.15.2 將SID變換為名字 281
8.15.3 將名字變換為SID 281
8.15.4 創(chuàng)建描述符 281
8.15.5 在絕對與自相對描述符間轉(zhuǎn)換 282
8.15.6 使用默認(rèn)的安全性描述符 282
8.15.7 使用通用安全性描述符 282
8.15.8 使用特定的安全性描述符 283
8.15.9 使用專用安全性 283
第9章 注冊表與登錄 284
9.1 放棄INI文件 284
9.2 注冊表:封閉的和個(gè)人的 285
9.3 注冊表的奇異特性 287
9.3.1 RegEnumValue 287
9.3.2 RegDeleteKey 287
9.3.3 錯(cuò)誤的返回值 288
9.3.4 鍵入的數(shù)據(jù) 288
9.3.5 MFC程序示例 288
9.4 那是注冊表嗎 299
9.5 注冊表中有什么 299
9.6 建立REG文件 299
9.7 在文件類型內(nèi)部 301
9.8 登錄 302
9.9 事件資源 302
9.10 創(chuàng)建消息文件 303
9.11 系統(tǒng)消息 304
9.12 操作記錄 305
9.13 直接解答 308
9.13.1 打開注冊表主鍵 308
9.13.2 查找子鍵 308
9.13.3 查找鍵值 309
9.13.4 使用注冊表替代INI文件 309
9.13.5 創(chuàng)建REG文件 310
9.13.6 創(chuàng)建INF文件 310
9.13.7 創(chuàng)建消息DLL 311
9.13.8 注冊消息DLL 311
9.13.9 登錄事件 311
9.13.10 將錯(cuò)誤轉(zhuǎn)換為消息 312
第10章 用ATL的命令解釋程序技巧 313
10.1 擴(kuò)展命令解釋程序 313
10.2 基本的ATL 315
10.3 使用MFC代替ATL 319
10.3.1 逐步地建立MFC的ActiveX對象 320
10.3.2 圖標(biāo)句柄細(xì)節(jié) 321
10.4 比較ATL與MFC 325
10.5 圖標(biāo)托盤程序 325
10.6 關(guān)于智能指針 329
10.7 快捷鍵 329
10.7.1 創(chuàng)建快捷鍵 330
10.7.2 消除快捷鍵 331
10.8 MMC 334
10.8.1 ATL Wizard可實(shí)現(xiàn)的 335
10.8.2 Wizard不能實(shí)現(xiàn)的 335
10.8.3 增加代碼 336
10.8.4 ATL MMC快捷按鈕 337
10.9 直接解答 354
10.9.1 關(guān)于擴(kuò)展命令解釋程序 354
10.9.2 撤銷快捷鍵 355
10.9.3 創(chuàng)建快捷鍵 355
10.9.4 編寫圖標(biāo)托盤程序 355
10.9.5 其他命令解釋程序的命令 356
10.9.6 關(guān)于MMC 356
10.9.7 編寫MMC快捷按鈕 357
第11章 Internet與網(wǎng)絡(luò)編程 358
11.1 Internet快捷鍵 358
11.1.1 開始運(yùn)行 359
11.1.2 使用CEditView 366
11.2 使用Internet資源管理器 366
11.2.1 自動(dòng)操作 367
11.2.2 進(jìn)一步控制 372
11.2.3 使用CHtmlView 373
11.2.4 資源的URL 375
11.2.5 HTML對話框 376
11.3 Web發(fā)送API 379
11.3.1 定制上載程序 381
11.3.2 其他容易的方法 385
11.3.3 ActiveX的連接 386
11.3.4 讀取Web 386
11.4 MFC Internet的支持 391
11.5 活動(dòng)目錄服務(wù)概述 401
11.5.1 術(shù)語 401
11.5.2 使用ADSI 401
11.6 直接解答 402
11.6.1 運(yùn)行Internet快捷鍵 402
11.6.2 Internet通信的方法 403
11.6.3 使用資源URL 403
11.6.4 在Internet Explorer內(nèi) 404
11.6.5 使用Scripting對象模型 404
11.6.6 使用HTML對話框 405
11.6.7 使用MFC的Internet支持 405
第12章 控制臺應(yīng)用程序與服務(wù)程序 406
12.1 創(chuàng)建簡單的控制臺應(yīng)用程序 406
12.1.1 一些內(nèi)容 406
12.1.2 AVC 細(xì)節(jié) 424
12.1.3 學(xué)習(xí)控制臺窗口 425
12.1.4 特殊的控制臺命令 427
12.1.5 處理事件 429
12.1.6 創(chuàng)建有用的新的控制臺 429
12.2 服務(wù)程序 433
12.2.1 安裝服務(wù)程序 434
12.2.2 調(diào)試服務(wù)程序 440
12.2.3 其他服務(wù)程序的考慮 440
12.3 面向?qū)ο蟮姆?wù)程序 441
12.4 直接解答 447
12.4.1 啟動(dòng)控制臺程序 447
12.4.2 使用控制臺程序的MFC 447
12.4.3 訪問控制臺的方法 447
12.4.4 創(chuàng)建GUI程序的主控制臺 448
12.4.5 創(chuàng)建和使用輔助控制臺 448
12.4.6 處理控制臺事件 448
12.4.7 查找控制臺的窗口句柄 449
12.4.8 在服務(wù)程序內(nèi) 449
12.4.9 訪問服務(wù)程序 450
12.4.10 C++服務(wù)的基類 450
12.4.11 調(diào)試服務(wù)程序 450
附錄A 超越新領(lǐng)域 452
附錄B Windows 2000:編程的冒險(xiǎn)
旅行 456
附錄C 隨書光盤的內(nèi)容 458
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -