书籍详情
深入浅出Windows API程序设计:编程基础篇
作者:王端明
出版社:人民邮电出版社
出版时间:2022-05-01
ISBN:9787115569486
定价:¥119.90
购买这本书可以去
内容简介
本书是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
第 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
猜您喜欢