主要内容简介:
1. Windows 编程基础:开发环境和开发过程。
2. Windows事件驱动模型和消息机制。
3. Windows的资源:图标、光标、菜单、位图等。
4. Windows绘图:图形和文字的显示。
5. 对话框和控件。
6. 静态库和动态库。
7. Windows的内存管理。
8. Windows文件系统。
9. Windows的进程管理。
10. Windows的线程和线程同步。
- Windows应用程序的类型
1) 控制台应用(console application)
本身没有自己独立的窗口,完全在Windows控制台窗口中运行。
如下图所示即为控制台:
cd 改变目录
盘符驱动,不能使用cd,切换盘符:(盘符:回车)例如:F:回车
md:建立目录
rd:删除目录(只能是空目录)
dir:查看文件树
dsw:工作空间文件
ncb、opt文件
dsp文件:价值相当于makefile
Debug:可调试
Release:不可调试,速度快
pch:预编译头文件
obj:目标文件
2) 窗口应用
本身拥有独立的窗口界面,通过各种界面元素和用户交互。
3) 静态库
扩展名为.lib。
4) 动态库
执行时,动态的寻找库,又叫共享库。扩展名为.dll。(so:share object)
5) 四种应用程序的对比
控制台应用
入口函数:main
生成文件:.exe
运行方式:在控制台窗口以字符运行。
窗口应用
入口函数:WinMain
生成文件:.exe
运行方式:在自己的窗口中以图形方式运行。
静态库
入口函数:NULL
生成文件:.lib
运行方式:不可运行,其中代码在链接被复制到调用模块中。
动态库
入口函数:DLLMain
生成文件:.dll,导入库:.lib
运行方式:不可独立运行,其中的代码被可执行程序在运行阶段调用。 - Windows开发工具
1) 集成开发环境(IDE)
C/C++ - 编程语言
VC - 微软提供的C/C++语言集成开发环境
Visual Studio - 由VC/VB/VI等组成的产品包
VC1.5 - Win16
VC2.0 - Win32 —- Windows95
VC5.0 – 在Visual Studio 97中
VC6.0 - 在Visual Studio 98中,稳定
VC7.0/8.0/9.0/10.0
2) 工具链
编译器:cl.exe
连接器:link.exe
资源编译器:rc.exe
3) Windows SDK (Platform SDK) = 库 + 头文件 + 文档 VC5.0后不需单装
运行时间库:(在系统目录中)
user32.dll – 窗口、 消息、 资源
gdi32.dll – 图形绘制
kernel32.dll – 进程、 线程、 内存管理
每个dll中封装一套函数 —- APIs —- 系统调用
导入库:(在库目录下)每个lib和每个dll库相对应
user32.lib – 窗口、 消息、 资源
gdi32.lib – 图形绘制
kernel32.lib – 进程、 线程、 内存管理
头文件:(在开发环境目录下)
windef.h:类型定义和宏定义
winuser.h:声明user32.dll的函数
wingdi.h:声明gdi32.dll的函数
winbase.h:声明kernel32.dll的函数
winnt.h:支持UNICODE字符集
….
windows.h:包含了一组最常用的头文件等等