深入浅出Windows API程序设计 编程基础篇
目录
第 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.h5
查看完整
第 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.h5
查看完整
王端明,从2008年开始参与Windows API程序设计,精通汇编语言、C/C 语言和Windows API程序设计,精通Windows环境下的桌面软件开发和加密 / 解密。曾为客户定制开发32位/64位Windows桌面软件,对加密/解密情有独钟,对VMProtect、Safengine等高强加密保护软件的脱壳或内存补丁有深入的研究和独到的见解,喜欢分析软件安全漏洞,曾在金山和360等网站发表过多篇杀毒软件漏洞分析的文章。
本书是Windows API程序设计的入门图书,提供大量的示例程序,主要介绍学习Windows程序设计常备的基础知识,以及一个程序界面所需的菜单、图标光标、子窗口控件、其他资源和对话框等相关内容,并通过Photoshop切片和自绘技术实现一个优雅的程序界面。通过阅读本书,读者可以对Windows程序设计有更加深入的认识,并将其应用到实际场景中。
本书适合对Windows API程序设计感兴趣的初学者以及Windows API技术开发人员阅读,也可以作为培训学校的教材使用。
本书适合对Windows API程序设计感兴趣的初学者以及Windows API技术开发人员阅读,也可以作为培训学校的教材使用。
目录
第 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.h5
1.4.2 入口函数WinMain5
1.4.3 MessageBox函数10
1.5 程序编译过程12
1.6 字符编码ASCII、扩展ASCII、DBCS、Unicode和ANSI14
1.6.1 ASCII14
1.6.2 扩展ASCII14
1.6.3 双字节字符集DBCS15
1.6.4 Unicode国际化15
1.6.5 ASCII和ANSI16
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 DDB246
7.2 位块传送250
7.3 DIB256
7.4 DDB与DIB257
第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 MenuHelp339
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 模态对话框示例程序2362
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.h5
1.4.2 入口函数WinMain5
1.4.3 MessageBox函数10
1.5 程序编译过程12
1.6 字符编码ASCII、扩展ASCII、DBCS、Unicode和ANSI14
1.6.1 ASCII14
1.6.2 扩展ASCII14
1.6.3 双字节字符集DBCS15
1.6.4 Unicode国际化15
1.6.5 ASCII和ANSI16
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 DDB246
7.2 位块传送250
7.3 DIB256
7.4 DDB与DIB257
第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 MenuHelp339
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 模态对话框示例程序2362
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
^ 收 起
王端明,从2008年开始参与Windows API程序设计,精通汇编语言、C/C 语言和Windows API程序设计,精通Windows环境下的桌面软件开发和加密 / 解密。曾为客户定制开发32位/64位Windows桌面软件,对加密/解密情有独钟,对VMProtect、Safengine等高强加密保护软件的脱壳或内存补丁有深入的研究和独到的见解,喜欢分析软件安全漏洞,曾在金山和360等网站发表过多篇杀毒软件漏洞分析的文章。
本书是Windows API程序设计的入门图书,提供大量的示例程序,主要介绍学习Windows程序设计常备的基础知识,以及一个程序界面所需的菜单、图标光标、子窗口控件、其他资源和对话框等相关内容,并通过Photoshop切片和自绘技术实现一个优雅的程序界面。通过阅读本书,读者可以对Windows程序设计有更加深入的认识,并将其应用到实际场景中。
本书适合对Windows API程序设计感兴趣的初学者以及Windows API技术开发人员阅读,也可以作为培训学校的教材使用。
本书适合对Windows API程序设计感兴趣的初学者以及Windows API技术开发人员阅读,也可以作为培训学校的教材使用。
比价列表