第1章 認識C#及開發環境
1.1 C#概述 2
1.1.1 C#發展歷程 2
1.1.2 C#語言編程環境 2
1.2 .NET Framework 2.0簡介 2
1.2.1 什麽是.NET Framework 2.0 2
1.2.2 .NET Framework 2.0特性 3
1.3 安裝集成開發環境Visual Studio 2005 4
1.3.1 安裝Visual Studio 2005開發環境 4
1.3.2 安裝MSDN幫助 7
1.3.3 如何使用MSDN幫助 9
1.3.4 利用MSDN幫助附帶的示例學習編程 11
1.4 啟動Visual Studio 2005開發環境 12
1.4.1 啟動Visual Studio 2005 12
1.4.2 創建項目 12
1.5 熟悉Visual Studio 2005集成開發環境 13
1.5.1 新特性 14
1.5.2 主窗口 14
1.5.3 菜單欄 14
1.5.4 工具欄 18
1.5.5 文檔窗口 18
1.5.6 工具箱窗口 19
1.5.7 解決方案資源管理器窗口 20
1.5.8 屬性窗口 20
1.5.9 代碼編輯器 21
1.5.10 “錯誤列表”面板 22
1.5.11 “輸出”面板 22
1.6 程序調試 22
1.6.1 斷點操作 22
1.6.2 使用開始、中斷和停止執行功能調試程序 23
1.6.3 單步執行 25
1.6.4 運行到程序的指定位置 25
第2章 QQ企業通
2.1 設計思路 28
2.2 關鍵技術 28
2.2.1 INI文件的應用 28
2.2.2 線程的應用 30
2.2.3 在Socket中發送大容量的消息 30
2.2.4 將流序列化或反序列化為對象 31
2.2.5 用InnerList列表記錄信息 31
2.3 設計過程 32
2.3.1 類庫的設計 33
2.3.2 客戶端註冊模塊設計 40
2.3.3 客戶端登錄模塊設計 42
2.3.4 客戶端QQ模塊設計 43
2.3.5 客戶端消息發送模塊設計 48
2.3.6 服務器端控制臺模塊設計 52
第3章 SQL數據表提取器模塊
3.1 概述 56
3.2 關鍵技術 56
3.2.1 如何備份數據庫 56
3.2.2 如何還原數據庫 57
3.2.3 如何附加數據庫 58
3.2.4 如何分離數據庫 59
3.2.5 設置數據庫模式 59
3.3 設計過程 61
3.3.1 主窗體 61
3.3.2 獲取服務器名稱 62
3.3.3 獲取所有數據庫 63
3.3.4 獲取所有數據表 64
3.3.5 備份數據庫 66
3.3.6 還原數據庫 67
3.3.7 附加數據庫 68
3.3.8 分離數據庫 70
3.3.9 導出表結構 71
3.3.10 導出數據 74
第4章 萬能搜索模塊
4.1 設計思路 80
4.2 關鍵技術 80
4.2.1 如何制作壹個接口程序 80
4.2.2 實現接口程序的信息互傳 80
4.2.3 如何將接口程序加載到其他程序中 82
4.2.4 怎樣操作RichtextBox控件的選擇文本 82
4.2.5 如何獲取數據表中字段的描述信息 83
4.3 設計過程 83
4.3.1 獲取數據表中字段的中文信息 84
4.3.2 添加數據表的查詢條件 86
4.3.3 向SQL語句中添加括號 89
4.3.4 查詢生成後的SQL語句 90
4.3.5 主程序獲得接口信息 92
第5章 萬能打印模塊
5.1 設計思路 94
5.2 關鍵技術 94
5.2.1 打印設置(PrintDocument類) 94
5.2.2 打印預覽對話框(PrintPreview Dialog) 95
5.2.3 打印對話框(PrintDialog) 96
5.2.4 獲取指定顏色值和字體樣式 97
5.2.5 DataGridView控件的相關應用 97
5.3 設計過程 98
5.3.1 打印信息的設置 98
5.3.2 表格樣式的設置 100
5.3.3 打印類的設置 101
5.3.4 打印數據信息 108
第6章 決策分析模塊
6.1 設計思路 112
6.2 關鍵技術 112
6.2.1 遊標的基本操作 112
6.2.2 存儲過程的基本操作 115
6.2.3 透視表的基本概念 117
6.2.4 統計表的基本操作 117
6.2.5 單擊顯示右鍵菜單 118
6.3 設計過程 118
6.3.1 主窗體的初始化 119
6.3.2 透視表的篩選 127
6.3.3 透視表的設計 130
6.3.4 統計表的設計 132
第7章 自定義圖表控件
7.1 設計思路 136
7.2 關鍵技術 137
7.2.1 控件的生成 137
7.2.2 如何在項目中添加控件 137
7.2.3 在“屬性”對話框中添加屬性 137
7.2.4 用GDI+繪制圖形 139
7.2.5 如何在控件上繪制圖形 143
7.2.6 獲取扇形外弧中心點的位置 143
7.3 設計過程 144
7.3.1 向自定義控件中添加屬性 144
7.3.2 獲取繪制圖表的初始值數據 149
7.3.3 繪制標簽框 153
7.3.4 繪制圖表中的表格 157
7.3.5 繪制條形圖 163
7.3.6 繪制面形圖 170
7.3.7 繪制餅形圖 174
第8章 電子郵件收發模塊
8.1 概述 180
8.2 關鍵技術 180
8.2.1 Base64編碼格式 180
8.2.2 SMTP服務 181
8.2.3 POP3協議 184
8.2.4 使用Jmail組件接收郵件 186
8.2.5 郵件發送類的使用 188
8.2.6 使用正則表達式驗證郵件格式 190
8.3 設計過程 191
8.3.1 數據庫設計 191
8.3.2 系統登錄 191
8.3.3 郵件發送實現 192
8.3.4 為郵件上傳多個附件 193
8.3.5 郵件接收實現 194
8.3.6 查看郵件詳細信息 196
8.3.7 下載附件的實現 197
8.3.8 刪除郵件實現 198
8.3.9 用戶管理 198
第9章 短信群發模塊
9.1 設計思路 202
9.2 關鍵技術 202
9.2.1 短信貓中API函數的使用 202
9.2.2 短信貓中的短信接收格式 205
9.2.3 窗體間的互操作 205
9.2.4 鎖定模塊主窗體 206
9.2.5 使用ADO.NET連接Access數據庫 206
9.3 設計過程 207
9.3.1 數據庫設計 207
9.3.2 群發短信實現 209
9.3.3 已發送短信管理 213
9.3.4 接收短信實現 215
9.3.5 常用聯系人管理 219
9.3.6 常用短語管理 221
第10章 桌面精靈模塊
10.1 概述 226
10.2 關鍵技術 226
10.2.1 陰陽歷轉換算法 226
10.2.2 調用系統API實現鼠標穿透效果 230
10.2.3 修改註冊表控制程序開機自啟動 231
10.2.4 通過控制窗體透明度實現日歷透明顯示效果 231
10.2.5 拖動無標題欄窗體 232
10.2.6 將窗體的關閉位置寫入到註冊表中 232
10.2.7 將程序圖標寫入到托盤 232
10.3 設計過程 233
10.3.1 桌面精靈模塊公***類設計 233
10.3.2 當前日期的農歷、天幹地支年、節日及星座顯示 235
10.3.3 定時提醒的實現 240
10.3.4 日歷窗體效果控制 242
10.3.5 轉到某天、某周、某月及某年的實現 243
10.3.6 節日管理 245
10.3.7 提醒管理 249
第11章 文件批量處理器
11.1 概述 256
11.2 關鍵技術 256
11.2.1 文件流技術 256
11.2.2 文件解壓縮技術 258
11.2.3 獲取系統文件及文件夾圖標 262
11.2.4 獲取指定目錄下的所有文件及文件夾 265
11.2.5 Word操作技術 266
11.2.6 進度條的顯示 266
11.2.7 對ListView控件中的項進行排序 267
11.3 設計過程 267
11.3.1 主窗體預覽 267
11.3.2 批量復制、剪切文件 268
11.3.3 批量復制、剪切文件夾 270
11.3.4 批量重命名文件 271
11.3.5 批量刪除文件及文件夾 275
11.3.6 搜索文件及文件夾 276
11.3.7 批量壓縮、解壓文件 278
11.3.8 分割、合並文件 280
第12章 圖片管理工具模塊
12.1 概述 286
12.2 關鍵技術 286
12.2.1 上下移動ListBox選中項 286
12.2.2 將文件復制到剪切板 287
12.2.3 格式轉換 288
12.2.4 圖片幻燈片 288
12.2.5 圖片旋轉 289
12.3 設計過程 290
12.3.1 主窗體 290
12.3.2 打開圖片目錄 291
12.3.3 圖片格式轉換 292
12.3.4 設為桌面背景 294
12.3.5 圖片特效 296
12.3.6 圖片調節 300
12.3.7 圖片水印 304
12.3.8 幻燈片放映 306
12.3.9 圖片打印 308
第13章 FTP文件管理模塊
13.1 設計思路 312
13.2 關鍵技術 312
13.2.1 架設FTP服務器 312
13.2.2 登錄FTP服務器 317
13.2.3 獲取服務器上文件的大小 318
13.2.4 向FTP服務器發送命令 319
13.2.5 調用系統API 321
13.3 設計過程 322
13.3.1 主窗體設計 322
13.3.2 登錄FTP服務器 323
13.3.3 獲取本地磁盤 325
13.3.4 獲取指定磁盤中的文件 326
13.3.5 獲取本地磁盤中文件的圖標 327
13.3.6 獲取FTP服務器中的所有文件 329
13.3.7 批量上傳文件 333
13.3.8 批量下載文件 337
13.3.9 刪除FTP中的文件或文件夾 340
第14章 魔法兔子模塊
14.1 概述 344
14.2 關鍵技術 344
14.2.1 獲取進程信息 344
14.2.2 獲取計算機信息 347
14.2.3 修改註冊表 349
14.3 設計過程 349
14.3.1 主窗體 349
14.3.2 功能菜單設計 350
14.3.3 系統檢測 353
14.3.4 系統優化 356
14.3.5 超級工具 360
14.3.6 實用工具 367
14.3.7 任務管理器 369
14.3.8 選項設置 371
第15章 學生考試模塊
15.1 設計思路 376
15.2 關鍵技術 376
15.2.1 獲取試題數目 376
15.2.2 驗證用戶名和密碼 377
15.2.3 隨機抽取試題 377
15.2.4 自動評分 377
15.3 設計過程 378
15.3.1 數據庫設計 378
15.3.2 公***類設計 380
15.3.3 登錄驗證 381
15.3.4 主窗體實現 382
15.3.5 開始考試 384
15.3.6 修改密碼 393
15.3.7 分數查詢 394
15.3.8 管理員界面 394
15.3.9 用戶管理 395
15.3.10 成績查詢 399
15.3.11 考試設置 401
15.3.12 添加試題 403
15.3.13 修改試題 406
第16章 網頁瀏覽器模塊
16.1 概述 410
16.2 關鍵技術 410
16.2.1 網頁瀏覽器核心控件 410
16.2.2 網頁多頁面顯示 415
16.2.3 獲取網頁源碼 416
16.3 設計過程 417
16.3.1 主窗體 417
16.3.2 查看網頁源碼 427
16.3.3 添加到收藏夾 427
16.3.4 整理收藏夾 429
第17章 電話客服管理模塊
17.1 設計思路 432
17.2 關鍵技術 432
17.2.1 語音卡中的API函數 432
17.2.2 硬件語音卡驅動分析 437
17.2.3 窗體間傳值 438
17.2.4 導航菜單的制作 438
17.3 設 計 過 程 439
17.3.1 數據庫設計 439
17.3.2 模塊主窗體設計 441
17.3.3 自動語音處理 444
17.3.4 通話管理實現 450
17.3.5 員工管理實現 452
17.3.6 產品類別管理 455
第18章 多媒體播放器
18.1 設計思路 460
18.2 關鍵技術 460
18.2.1 窗體間的信息傳遞 460
18.2.2 AxWindowsMediaPlayer控件的相關應用 461
18.2.3 在列表框中動態移動選中的項 463
18.2.4 如何在文件夾中遍歷文件 463
18.2.5 如何實現播放進度條 464
18.3 設計過程 465
18.3.1 磁性窗體的設置 465
18.3.2 播放窗體的設計 472
18.3.3 列表窗體的設計 482
18.3.4 歌詞窗體的設計 485
第19章 屏幕錄像模塊
19.1 概述 488
19.2 關鍵技術 488
19.2.1 如何抓取屏幕 488
19.2.2 創建AVI文件 488
19.2.3 向AVI文件中添加視頻 489
19.2.4 分解AVI文件 490
19.2.5 設置快捷鍵 491
19.3 設計過程 494
19.3.1 主窗體設計 494
19.3.2 抓圖功能 494
19.3.3 選項設置 496
19.3.4 屏幕錄像 497
19.3.5 視頻分割 503
第20章 EXE文件加密器
20.1 設計思路 512
20.2 關鍵技術 512
20.2.1 FileStream對象 512
20.2.2 文件的讀寫操作 513
20.2.3 如何獲取兩個日期的月份差 515
20.2.4 獲取兩個日期的相差天數 516
20.2.5 載取字符串中的指定字符 516
20.3 設計過程 517
20.3.1 獲取加密字符串的信息 517
20.3.2 對生成後的數據進行加密 520
20.3.3 對EXE文件進行加密 522
20.3.4 解密文件的設置 524
第21章 視頻監控模塊
21.1 設計思路 530
21.2 關鍵技術 530
21.2.1 認識視頻監控卡 530
21.2.2 視頻監控卡中API函數的使用 532
21.2.3 Pelco-D協議 536
21.2.4 串口通信技術 538
21.2.5 WMI類的使用 540
21.2.6 註冊表技術 541
21.3 設計過程 543
21.3.1 視頻監控實現 543
21.3.2 雲臺控制 546
21.3.3 色彩控制 548
21.3.4 圖像抓拍及生成監控錄像 549
21.3.5 定時錄像設置 551
21.3.6 錄像回放 552
21.3.7 註冊程序 553
21.3.8 實時監控軟件運行時間及磁盤空間 554
第22章 網絡五子棋遊戲
22.1 設計思路 558
22.2 關鍵技術 558
22.2.1 在下拉列表中繪制圖片 558
22.2.2 UDP協議 560
22.2.3 用Socket實現信息傳遞的必備條件 560
22.2.4 自定義事件的設置 561
22.2.5 動態按鈕的設置 562
22.3 設計過程 564
22.3.1 類庫的設計 564
22.3.2 客戶端註冊模塊設計 569
22.3.3 客戶端登錄模塊設計 571
22.3.4 五子棋大廳的設計 573
22.3.5 對決窗體的設計 583
22.3.6 網絡五子棋服務器窗體的設計 598
第23章 在線升級模塊
23.1 設計思路 610
23.2 關鍵技術 610
23.2.1 FTP上傳下載技術 610
23.2.2 XML文件操作 611
23.2.3 INI文件的讀寫 613
23.2.4 動態生成版本面板 614
23.2.5 使用Hashtable(哈希表)記錄版本號及更新信息 614
23.3 類庫設計過程 615
23.4 服務器端設計過程 621
23.4.1 服務器端主窗體預覽 621
23.4.2 連接FTP服務器 622
23.4.3 向FTP服務器上傳新版本 623
23.5 客戶端設計過程 626
23.5.1 啟動客戶端時檢測是否有新版本 626
23.5.2 從FTP服務器下載指定版本 628
23.5.3 定時升級設置 630
第24章 Windows應用程序打包與部署境
24.1 Windows Installer簡介 634
24.2 Windows應用程序部署 634
24.2.1 創建部署項目 634
24.2.2 可選的部署功能 636
24.3 安裝及卸載Windows程序 642
24.3.1 在本地計算機上安裝 642
24.3.2 部署到其他計算機 642
24.3.3 卸載安裝應用程序 642