深入淺出Windows API程序設(shè)計 編程基礎(chǔ)篇
定 價:119.9 元
- 作者:王端明
- 出版時間:2022/5/1
- ISBN:9787115569486
- 出 版 社:人民郵電出版社
- 中圖法分類:TP316.7
- 頁碼:388
- 紙張:
- 版次:01
- 開本:16開
本書是Windows API程序設(shè)計的入門圖書,提供大量的示例程序,主要介紹學(xué)習(xí)Windows程序設(shè)計必備的基礎(chǔ)知識,以及一個程序界面所需的菜單、圖標光標、子窗口控件、其他資源和對話框等相關(guān)內(nèi)容,并通過Photoshop切片和自繪技術(shù)實現(xiàn)一個優(yōu)雅的程序界面。通過閱讀本書,讀者可以對Windows程序設(shè)計有更加深入的認識,并將其應(yīng)用到實際場景中。
本書適合對Windows API程序設(shè)計感興趣的初學(xué)者以及Windows API技術(shù)開發(fā)人員閱讀,也可以作為培訓(xùn)學(xué)校的教材使用。
1.本書基于Windows 10和VS 2019編寫。
2.本書包含大量的示例程序,能夠幫助讀者將所學(xué)應(yīng)用到實際工作中。
3.附帶配套源代碼,可以供讀者即學(xué)即用。
王端明,從2008年開始參與Windows API程序設(shè)計,精通匯編語言、C/C++語言和Windows API程序設(shè)計,精通Windows環(huán)境下的桌面軟件開發(fā)和加密 / 解密。曾為客戶定制開發(fā)32位/64位Windows桌面軟件,對加密/解密情有獨鐘,對VMProtect、Safengine等高強加密保護軟件的脫殼或內(nèi)存補丁有深入的研究和獨到的見解,喜歡分析軟件安全漏洞,曾在金山和360等網(wǎng)站發(fā)表過多篇殺毒軟件漏洞分析的文章。
目錄
第 1章 基礎(chǔ)知識 1
1.1 Windows的特色 1
1.2 編程語言的分類 2
1.2.1 機器語言 2
1.2.2 匯編語言 2
1.2.3 高級語言 3
1.3 安裝Visual Studio開發(fā)工具 3
1.4 HelloWorld程序 3
1.4.1 引入頭文件Windows.h 5
1.4.2 入口函數(shù)WinMain 5
1.4.3 MessageBox函數(shù) 10
1.5 程序編譯過程 12
1.6 字符編碼ASCII、擴展ASCII、DBCS、Unicode和ANSI 14
1.6.1 ASCII 14
1.6.2 擴展ASCII 14
1.6.3 雙字節(jié)字符集DBCS 15
1.6.4 Unicode國際化 15
1.6.5 ASCII和ANSI 16
1.7 字符和字符串處理 16
1.7.1 字符和字符串?dāng)?shù)據(jù)類型 16
1.7.2 常用的字符串處理函數(shù) 19
1.7.3 Windows中的ANSI與Unicode版本函數(shù) 39
1.7.4 ANSI與Unicode字符串轉(zhuǎn)換 40
1.8 結(jié)構(gòu)體數(shù)據(jù)對齊 42
第 2章 Windows窗口程序 46
2.1 認識Windows窗口 46
2.2 第 一個Windows窗口程序 47
2.2.1 注冊窗口類(RegisterClassEx)49
2.2.2 創(chuàng)建窗口(CreateWindowEx)55
2.2.3 顯示窗口(ShowWindow)和刷新窗口客戶區(qū)(UpdateWindow)58
2.2.4 消息循環(huán) 59
2.2.5 窗口過程 61
2.3 Windows數(shù)據(jù)類型 67
2.4 函數(shù)名、變量名命名規(guī)則 71
第3章 GDI繪圖 73
3.1 設(shè)備環(huán)境(DC) 73
3.2 繪制文本 76
3.2.1 格式化文本 77
3.2.2 繪制文本函數(shù) 88
3.2.3 加入標準滾動條 92
3.2.4 保存設(shè)備環(huán)境 111
3.3 繪制直線和曲線 113
3.3.1 繪制像素點 113
3.3.2 繪制直線 113
3.3.3 繪制曲線 120
3.4 填充圖形 124
3.5 邏輯坐標與設(shè)備坐標 132
3.5.1 世界坐標空間到頁面坐標空間的變換 133
3.5.2 頁面坐標空間到設(shè)備坐標空間的變換 134
3.6 擴展畫筆 145
3.7 區(qū)域 149
3.8 路徑 154
3.9 繪圖模式 156
第4章 鍵盤與鼠標 158
4.1 鍵盤 158
4.1.1 活動窗口與鍵盤焦點 158
4.1.2 系統(tǒng)擊鍵消息和非系統(tǒng)擊鍵消息 159
4.1.3 虛擬鍵碼 160
4.1.4 轉(zhuǎn)義狀態(tài) 165
4.1.5 字符消息 166
4.1.6 模擬擊鍵消息 166
4.1.7 插入符號 168
4.2 鼠標 169
4.2.1 客戶區(qū)鼠標消息 170
4.2.2 非客戶區(qū)鼠標消息 172
4.2.3 X按鈕消息 174
4.2.4 鼠標光標函數(shù) 175
4.2.5 鼠標捕獲 177
4.2.6 鼠標滾輪 180
4.2.7 模擬鼠標消息 182
第5章 計時器(定時器)和時間 184
5.1 計時器 184
5.2 系統(tǒng)時間 188
5.3 Windows時間 190
5.4 時鐘程序 191
第6章 菜單和其他資源 197
6.1 菜單和加速鍵 197
6.1.1 為程序添加菜單欄 197
6.1.2 加速鍵 204
6.1.3 菜單的查詢、創(chuàng)建、添加、修改和刪除 210
6.1.4 菜單狀態(tài)的設(shè)置、快捷菜單 217
6.1.5 擴展菜單選項與菜單項自繪 222
6.2 圖標 229
6.3 光標 230
6.4 字符串表 232
6.5 程序版本信息 238
6.6 自定義資源 240
第7章 位圖 245
7.1 DDB 246
7.2 位塊傳送 250
7.3 DIB 256
7.4 DDB與DIB 257
第8章 子窗口控件 259
8.1 按鈕類 260
8.1.1 按鈕與父窗口通信 262
8.1.2 系統(tǒng)顏色 271
8.1.3 視覺樣式 273
8.1.4 控件的子類化與超類化 274
8.1.5 命令鏈接按鈕與拆分按鈕 278
8.2 編輯控件 280
8.3 列表框 286
8.4 組合框 294
8.5 滾動條控件 299
8.6 靜態(tài)控件 302
8.7 SysLink控件 304
8.8 全局熱鍵與特定線程熱鍵 308
8.9 IP地址控件 312
8.10 圖像列表ImageList_Create函數(shù) 313
8.11 工具提示控件 315
8.11.1 超時時間 318
8.11.2 跟蹤工具提示 319
8.12 列表視圖 321
8.12.1 添加列標題和列表項 324
8.12.2 列表視圖控件消息和通知碼 328
8.12.3 選中項的獲取 330
8.13 樹視圖 331
8.13.1 項目的添加 332
8.13.2 選中項的獲取 334
8.13.3 其他消息和通知碼 336
8.14 狀態(tài)欄 336
8.14.1 為狀態(tài)欄分欄 338
8.14.2 MenuHelp 339
8.15 工具欄 340
8.15.1 為按鈕顯示工具提示 344
8.15.2 自定義工具欄 345
8.16 進度條控件 346
8.17 日期控件 347
8.18 Tab選項卡控件 348
8.19 動畫控件 353
第9章 對話框 355
9.1 模態(tài)對話框 355
9.1.1 模態(tài)對話框示例程序 357
9.1.2 對話框窗口過程 361
9.1.3 模態(tài)對話框示例程序2 362
9.2 非模態(tài)對話框 365
9.3 對話框程序的書寫 366
9.4 通過Photoshop切片和自繪技術(shù)實現(xiàn)一個優(yōu)雅的程序界面 368
第 10章 通用對話框 370
10.1 打開和保存文件 371
10.2 瀏覽文件夾與遍歷目錄 376
10.3 查找和替換 381
10.4 選擇字體 386
10.5 選擇顏色 387