深入淺出 Windows API 程序設計:編程基礎篇

王端明

  • 深入淺出 Windows API 程序設計:編程基礎篇-preview-1
  • 深入淺出 Windows API 程序設計:編程基礎篇-preview-2
深入淺出 Windows API 程序設計:編程基礎篇-preview-1

買這商品的人也買了...

商品描述

本書是Windows API程序設計的入門圖書,提供大量的示例程序,主要介紹學習Windows程序設計常備的基礎知識,以及一個程序界面所需的菜單、圖標光標、子窗口控件、其他資源和對話框等相關內容,並通過Photoshop切片和自繪技術實現一個優雅的程序界面。通過閱讀本書,讀者可以對Windows程序設計有更加深入的認識,並將其應用到實際場景中。

本書適合對Windows API程序設計感興趣的初學者以及Windows API技術開發人員閱讀,也可以作為培訓學校的教材使用。

 

作者簡介

王端明,从2008年开始参与Windows API程序设计,精通汇编语言、C/C++语言和Windows API程序设计,精通Windows环境下的桌面软件开发和加密 / 解密。曾为客户定制开发32位/64位Windows桌面软件,对加密/解密情有独钟,对VMProtect、Safengine等高强加密保护软件的脱壳或内存补丁有深入的研究和独到的见解,喜欢分析软件安全漏洞,曾在金山和360等网站发表过多篇杀毒软件漏洞分析的文章。

目錄大綱

目錄

 

第 1章 基礎知識 1

1.1 Windows的特色 1

1.2 編程語言的分類 2

1.2.1 機器語言 2

1.2.2 匯編語言 2

1.2.3 高級語言 3

1.3 安裝Visual Studio開發工具 3

1.4 HelloWorld程序 3

1.4.1 引入頭文件Windows.h 5

1.4.2 入口函數WinMain 5

1.4.3 MessageBox函數 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 雙字節字符集DBCS 15

1.6.4 Unicode國際化 15

1.6.5 ASCII和ANSI 16

1.7 字符和字符串處理 16

1.7.1 字符和字符串數據類型 16

1.7.2 常用的字符串處理函數 19

1.7.3 Windows中的ANSI與Unicode版本函數 39

1.7.4 ANSI與Unicode字符串轉換 40

1.8 結構體數據對齊 42

第 2章 Windows窗口程序 46

2.1 認識Windows窗口 46

2.2 第 一個Windows窗口程序 47

2.2.1 註冊窗口類(RegisterClassEx)49

2.2.2 創建窗口(CreateWindowEx)55

2.2.3 顯示窗口(ShowWindow)和刷新窗口客戶區(UpdateWindow)58

2.2.4 消息循環 59

2.2.5 窗口過程 61

2.3 Windows數據類型 67

2.4 函數名、變量名命名規則 71

第3章 GDI繪圖 73

3.1 設備環境(DC) 73

3.2 繪制文本 76

3.2.1 格式化文本 77

3.2.2 繪制文本函數 88

3.2.3 加入標準滾動條 92

3.2.4 保存設備環境 111

3.3 繪制直線和曲線 113

3.3.1 繪制像素點 113

3.3.2 繪制直線 113

3.3.3 繪制曲線 120

3.4 填充圖形 124

3.5 邏輯坐標與設備坐標 132

3.5.1 世界坐標空間到頁面坐標空間的變換 133

3.5.2 頁面坐標空間到設備坐標空間的變換 134

3.6 擴展畫筆 145

3.7 區域 149

3.8 路徑 154

3.9 繪圖模式 156

第4章 鍵盤與鼠標 158

4.1 鍵盤 158

4.1.1 活動窗口與鍵盤焦點 158

4.1.2 系統擊鍵消息和非系統擊鍵消息 159

4.1.3 虛擬鍵碼 160

4.1.4 轉義狀態 165

4.1.5 字符消息 166

4.1.6 模擬擊鍵消息 166

4.1.7 插入符號 168

4.2 鼠標 169

4.2.1 客戶區鼠標消息 170

4.2.2 非客戶區鼠標消息 172

4.2.3 X按鈕消息 174

4.2.4 鼠標光標函數 175

4.2.5 鼠標捕獲 177

4.2.6 鼠標滾輪 180

4.2.7 模擬鼠標消息 182

第5章 計時器(定時器)和時間 184

5.1 計時器 184

5.2 系統時間 188

5.3 Windows時間 190

5.4 時鐘程序 191

第6章 菜單和其他資源 197

6.1 菜單和加速鍵 197

6.1.1 為程序添加菜單欄 197

6.1.2 加速鍵 204

6.1.3 菜單的查詢、創建、添加、修改和刪除 210

6.1.4 菜單狀態的設置、快捷菜單 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 系統顏色 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 靜態控件 302

8.7 SysLink控件 304

8.8 全局熱鍵與特定線程熱鍵 308

8.9 IP地址控件 312

8.10 圖像列表ImageList_Create函數 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 狀態欄 336

8.14.1 為狀態欄分欄 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 模態對話框 355

9.1.1 模態對話框示例程序 357

9.1.2 對話框窗口過程 361

9.1.3 模態對話框示例程序2 362

9.2 非模態對話框 365

9.3 對話框程序的書寫 366

9.4 通過Photoshop切片和自繪技術實現一個優雅的程序界面 368

第 10章 通用對話框 370

10.1 打開和保存文件 371

10.2 瀏覽文件夾與遍歷目錄 376

10.3 查找和替換 381

10.4 選擇字體 386

10.5 選擇顏色 387