Windows编程_Lesson002_Windows与编程语言
Windows API
Windows操作系统应用程序接口(Windows API),有非正式的简称方法WinAPI,是微软对Windows操作系统中可用的核心应用程序带上接口的称法。它被设计为各种语言的程序调用,也是应用软件与Windows系统最直接的交互方式。大多数驱动程序需要对Windows系统更底层访问接口,有所有版本的windows的Native API来提供接口。
Windows有一个软件开发包(SDK,software development kit)提供相应的文档和工具,以使程序员开发使用Windows API的软件和利用Windows技术。
SDK&API&MFC
SDK(Software Development Kit)
软件开发工具组,是用来帮一个产品或平台开发应用程序的工具组,由产品的厂商提供给开发者使用的。通常是某一家厂商针对某一平台或系统或硬件所发布出来用于开发应用程序的工具组,在这个工具包里面,可能包含了各式各样的开发工具,模拟器等。
API(Application Programming Interface)
应用程序接口,在一个同一个平台下的两个不同东西(程序或系统),为了能取用对方的功能等等,所以一个程序写了一组函数,让同一平台的其他程序取用X程序的功能,那主函数就可以说是那个程序对外开放的API。
MFC(Microsoft Foundation Classes)
微软基础类,微软提供的用于在C++环境下编写应用程序的一个框架和引擎,也可以说,MFC是WinAPI与C++结合后的再一次封装,属于应用程序框架。
Windows API分类
基础服务(Base Services)
提供对Windows系统可用的基础资源的访问接口:
- 文件系统(file system)
- 外部设备(device)
- 进程(process)
- 线程(thread)
- 注册表(Windows registry)
- 错误处理机制(error handling)
这些功能接口位于,16位Windows的kernel.exe、krn1286.exe系统文件中;以及32位Windows下的kernel32.dll和advapi32.dll中。
文件系统:文件的打开、关闭。
进程打包了一块空间,还有一些运行状态,运行状态是由线程提供的。
进程:代表正在运行的一个程序。
注册表:Windows的一个配置表。
图形设备接口(GDI)
多用于做界面(自绘),但是游戏不用GDI。
提供功能为:
-
输出图形内容到显示器、打印机以及其他外部输出设备
它位于16位Windows下的gdi.exe以及32位Windows下的gdi32.dll。图形化用户界面(GUI)
提供的功能有:
- 创建和管理屏幕可大多数基本控件(Control),比如按钮和滚动条
-
接收鼠标和键盘输入,以及其他与GUI有关的功能
这些接口位于:16位Windows下的user.exe,以及32位Windows下的user32.dll。从Windows XP版本之后,基本空间和通用对话框控件(Common Control Library)的调用接口放在comctl32.dll中。通用对话框链接库(Common Dialog Box Library)
为应用程序提供接口来访问操作系统提供的一些高级控件,比如
- 状态栏(status bar)
- 进度条(progress bars)
- 工具栏(toolbar)
-
标签(lab)
这个链接库位于:16位Windows下的commctl.dll中,以及32位Windows下comctl32.dll中。它被归类为User Interface API之下。Windows外壳(Windows Shell)
作为Windows API的组成部分,不仅容许应用程序访问Windows外壳提供的功能,还对之有所改进和增强。
它位于16位Windows下的shell.dll中,以及32位Windows下的shell32.dll中(Windows 95则在shlwapi.dll中)。它被归类为User Interface API 之下。网络服务(Network Service)
为访问操作系统提供多种网络功能提供接口接口,它包括NetBIOS、Winsock、NetDDE以及RPC等。
多媒体相关API
####封装库