Win32 API

Win32平台:是采用32位码编写出的操作系统,比如windows98,windowsME,windowXP.

Win32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。所有在Win32平台上运行的应用程序都可以调用这些函数。 

使用Win32 API,应用程序可以充分挖掘Windows的32位操作系统的潜力。 Mircrosoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用 Win32 API不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。

SDK,Software Development Kit 的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。 SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口 API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数 。

标准Win32 API函数可以分为以下几类:

  窗口管理
  窗口通用控制
  Shell特性
  图形设备接口
  系统服务
  国际特性
  网络服务

重要参考文档(从百度文库下载):第1章Win32API编程简介.pdf;WIN32 API函数大全.pdf

指针是一个32位的无符号变量。

必须是32位,并且这个规则也适合各种句柄,在Win32API中存在各种各样的句柄,这些句柄都是32位的,用户可以用32位无符号整型变量声明。

Win32提供的API接口的实现方式有两种:基于动态链接库和基于组件对象模型(COM)

API主要函数如下:

1、 API之网络资源函数

WNetAddConnection//创建同一个网络资源的永久性连接

WNetCancelConnection //结束一个网络连接

 

2、 API之消息函数

GetMessagePos//取得消息队列中上一条消息处理完毕时的鼠标指针的屏幕位置

PostMessage//将一条消息投递到指定窗口的消息队列

SendMessage//调用一个窗口的窗口函数,将一条消息发给那个窗口

 

3、 API之文件处理函数

CloseHandle()//关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等

CopyFile//复制文件

CreateFile//打开和创建文件、管道、邮槽、通信服务、设备以及控制台

DeleteFile//删除指定文件

FindFirstFile//根据文件名查找文件

FindNextFile

lclose //关闭指定的文件

lcreat //创建一个文件

llseek //设置文件中进行读写的当前位置

LockFile //锁定文件的某一部分,使其不与其他应用程序共享

lopen //以二进制模式打开指定的文件

lread //将文件中的数据读入内存缓冲区

lwrite //将数据从内存缓冲区写入一个文件

OpenFile //这个函数能执行大量不同的文件操作

ReadFile //从文件中读出数据

WriteFile //将数据写入一个文件

 

4、 API之打印函数

AbortDoc //取消一份文档的打印

AddPrinter //在系统中添加一台新打印机

EnumJobs //枚举打印队列中的作业

OpenPrinter //打开指定的打印机,并获取打印机的句柄

 

5、 API之文本和字体函数

AddFontResource //在Windows系统中添加一种字体资源

CreateFont //用指定的属性创建一种逻辑字体

GetTextColor //判断当前字体颜色。通常也称为“前景色”

SetTextColor //设置当前文本颜色。

TextOut //文本绘图函数

 

6、 API之菜单函数

AppendMenu //在指定的菜单里添加一个菜单项

CreateMenu() //创建新菜单

GetMenu() //取得窗口中一个菜单的句柄

 

7、 API之位图、图标和光栅运算函数

BitBlt() //将一幅位图从一个设备场景复制到另一个

CopyImage() //复制位图、图标或指针,同时在复制过程中进行一些转换工作

CreateBitmap() //按照规定的格式创建一幅与设备有关的位图

CreateCursor() //创建一个鼠标指针

CreateIcon //创建一个图标

LoadBitmap //从指定的模块或应用程序实例中载入一幅位图

LoadIcon //从指定的模块或应用程序实例中载入一个图标

LoadImage //载入一个位图、图标或指针

SetDIBits() //将来自于设备无关位图的二进制位复制到一幅与设备有关的位图里

SetDIBitsToDevice() //将一幅与设备无关位图的全部或部分数据直接复制到一个设备

SetStretchBltMode() //指定StretchBlt和StretchDIBits函数的伸缩模式

StretchBlt() //将一幅位图从一个设备场景复制到另一个

StretchDIBits() //将一幅与设备无关位图的全部或部分数据直接复制到指定的设备场景

 

8、 API之绘图函数

Arc //画一个圆弧

CloseFigure //描绘到一个路径时,关闭当前打开的图形

CreateMetaFile //创建一个图元文件设备场景

CreatePen //用指定的样式、宽度和颜色创建一个画笔

CreateSolidBrush() //用纯色创建一个刷子

DeleteObject() //删除GDI对象,对象使用的所有系统资源都会被释放

Polyline() //用当前画笔描绘一系列线段

Rectangle //用当前画笔画一个圆角矩形,并用当前选定的刷子在其中填充

SelectObject() //为当前设备场景选择图形对象

SetBkColor() //为指定的设备场景设置背景颜色

SetBkMode() //指定阴影刷子、虚线画笔以及字符中的空隙的填充方式

SetPixel //在指定的设备场景中设置一个像素的RGB值

SetROP2 //设置指定设备场景的绘图模式。与vb的DrawMode属性完全一致

 

9、 API之设备场景函数

CreateDC //为专门设备创建设备场景

CreatePolygonRgn() //创建一个由一系列点围成的区域

CreateRectRgn() //创建一个矩形区域

DeleteDC() //删除专用设备场景或信息场景,释放所有相关窗口资源

DPtoLP //将点阵从设备坐标转换到专用设备场景逻辑坐标

GetDC //获取指定窗口的设备场景

OffsetRgn() //按指定偏移量平移指定区域

PaintRgn() //用当前刷子背景色填充指定区域

ReleaseDC() //释放由调用GetDC或GetWindowDC函数获取的指定设备场景

SaveDC //将指定设备场景状态保存到Windows设备场景堆栈

 

10、API之硬件与系统函数

Beep //用于生产简单的声音

GetCursor() //获取目前选择的鼠标指针的句柄

GetCursorPos() //获取鼠标指针的当前位置

 

11、API之进程和线程函数

CreateEvent //创建一个事件对象

CreateProcess //创建一个新进程(比如执行一个程序)

ExitProcess() //中止一个进程

 

12、API之控件与消息函数

AnyPopup() //判断屏幕上是否存在任何弹出式窗口

CascadeWindows() //以层叠方式排列窗口

CloseWindow() //最小化指定的窗口

DestroyWindow() //清除指定的窗口以及它的所有子窗口

GetParent //判断指定窗口的父窗口

GetWindow() //获得一个窗口的句柄,该窗口与某源窗口有特定的关系

GetWindowRect() //获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内

IsChild() //判断一个窗口是否为另一个窗口的子或隶属窗口

IsWindowUnicode() //判断一个窗口是否为Unicode窗口。这意味着长款为所有基于文本的消息都接受Unicode文字

SetActiveWindow() //激活指定窗口



作为Microsoft 32位平台的应用程序编程接口, Win32 API是从事Windows应用程序开发所必备的。 首先对Win32 API函数做完整的概述;然后收录五大类函数: 窗口管理、图形设备接口、系统服务、国际特性以及网络服务; 在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。 控件与消息函数 共91个函数 硬件与系统函数 共98个函数 设备场景函数 共73个函数 绘图函数 共105个函数 位图、图标和光栅运算函数 共39个函数 菜单函数 共37个函数 文本和字体函数 共41个函数 打印函数 共66个函数 文件处理函数 共118个函数 进程和线程函数 共40个函数 Windows消息函数 共11个函数 网络函数 共14个函数 目 录 第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 …………………………………………………………………………1 1.3 综述………………………………………………………………………………………11 第二章 窗口管理函数(Windows Control Function) ……………………………………13 2.1 易用特性函数(Accessibility Features)…………………………………………13 2.2 按钮函数(Button)……………………………………………………………………20 2.3 插入标记(^)函数(Caret)…………………………………………………………21 2.4 组合框函数(Combo box) ……………………………………………………………24 2.5 通用对话框函数(Common Dialog Box) ……………………………………………25 2.6 标函数(Cursor)………………………………………………………………………36 2.7 对话框函数(Dialog Box)……………………………………………………………40 2.8 编辑控制函数(Edit Control)………………………………………………………54 2.9 图标函数(Icon)………………………………………………………………………54 2.10 键盘加速器函数(Keyboard Accelerator)……………………………………… 61 2.11 键盘输入函数(Keyboard InPut) …………………………………………………63 2.12 列表框函数(List box) ……………………………………………………………75 2.13 菜单函数(Menu) ……………………………………………………………………76 2.14 消息和消息队列函数(Message and Message Queue)……………………………90 2.15 鼠标输入函数(Mouse Input) ……………………………………………………100 2.16 多文档接口函数(Multiple Document Interface) ……………………………103 2.17 资源函数(Resource)………………………………………………………………105 2.18 滚动条函数(Scroll Bar)…………………………………………………………113 2.19 窗口函数(Window)…………………………………………………………………119 2.20 窗口类函数(Window Class)………………………………………………………144 2.21 窗口过程函数(Window Procedure)………………………………………………150 2.22 窗口属性函数(Window Property) ………………………………………………152 第三章 图形设备接口函数(Graphic Device Interface Function) …………………155 3.1 位图函数(Bitmap) …………………………………………………………………155 3.2 笔刷函数(Brush)……………………………………………………………………171 3.3 剪切函数(Clipping) ………………………………………………………………176 3.4 颜色函数(Color)……………………………………………………………………179 3.5 坐标空间与变换函数(Coordinate Space Transformation)……………………186 3.6 设备环境函数(Device Context) …………………………………………………195 3.7 填充形态函数(Filled shape) ……………………………………………………211 3.8 字体和正文函数(Font and Text)…………………………………………………215 3.9 ICM 2.0函数 …………………………………………………………………………238 3.10 线段和曲线函数(Line and Curve)………………………………………………295 3.11 图元文件函数(Metafile)…………………………………………………………300 3.12 多显示器函数(Multiple Display Monitors) …………………………………311 3.13 绘图函数和画图函数(Painting and Drawing)…………………………………313 3.14 路径函数(Path)……………………………………………………………………328 3.15 画笔函数(Pen) ……………………………………………………………………332 3.16 打印及打印假脱机程序函数(Printing and Print Spooler)…………………334 3.17 矩形函数(Rectangle) ……………………………………………………………371 3.18 区域函数(Region)…………………………………………………………………374 第四章 系统服务函数(System Service Function) ……………………………………383 4.1 访问控制函数(Access Control) …………………………………………………383 4.2 原子函数(Atom) ……………………………………………………………………406 4.3 客户/服务器访问控制函数(Client/Server Access Control) ………………409 4.4 剪贴板函数(Clipboard)……………………………………………………………431 4.5 通信函数(Communication)…………………………………………………………436 4.6 控制台函数(Console)………………………………………………………………444 4.7 数据解压库函数(Data Decompression Library) ………………………………463 4.8 调试函数(Debugging)………………………………………………………………466 4.9 设备输入输出函数(Device Input and Output)…………………………………472 4.10 动态数据交换函数(Dynamic Data Exchange) …………………………………474 4.11 动态数据交换管理函数(Dynamic Data Exchange Management)………………476 4.12 动态链接库函数(Dynamic-Link Library)………………………………………489 4.13 错误函数(Error) …………………………………………………………………496 4.14 事件日志函数(Event Logging) …………………………………………………499 4.15 文件函数(File)……………………………………………………………………503 4.16 文件安装库函数(File Installation Library) ………………………………542 4.17 文件映射函数(File Mapping)……………………………………………………546 4.18 文件系统函数 File System)………………………………………………………551 4.19 句柄和对象函数(Handle and Object)………………………………………………556 4.20 挂钩函数(Hook)………………………………………………………………………560 4.21 ImageHlp函数…………………………………………………………………………572 4.22 大整数操作函数(Iarge Integer Operations)……………………………………594 4.23 低层访问控制函数(Low-Level Access Control)………………………………596 4.24 LSAPI函数 …………………………………………………………………………617 4.25 邮槽函数(Mailslot)………………………………………………………………622 4.26 内存管理函数(Memory Management) ……………………………………………623 4.27 管道函数(Pipe) …………………………………………………………………655 4.28 电源管理函数(Power Management) …………………………………………… 663 4.29 进程和线程函数(Process and Thread)…………………………………………666 4.30 注册表函数(Registry)……………………………………………………………700 4.31 字符串操作函数(String Manipulation)……………………………………… 724 4.32 结构化异常处理函数(Structured Exception Handling) ……………………742 4.33 同步函数(Synchronization) ……………………………………………………745 4.34 系统信息函数(System Information)……………………………………………766 4.35 系统消息函数(System Message)…………………………………………………780 4.36 系统关机函数(System Shutdown) ………………………………………………781 4.37 磁带备份函数(Tape Backup) ……………………………………………………783 4.38 时间函数(Time)……………………………………………………………………789 4.39 计时器函数(Timer) ………………………………………………………………795 4.40 工具帮助函数(Tool Help) ………………………………………………………796 4.41 窗口站和桌面函数(Window Station and Desktop)……………………………799 4.42 Windows NT 4.0访问控制函数(Window NT 4.0 Access-Control)……………808 4.43 WinTrust函数(WinTrust)…………………………………………………………814 第五章 国际特性函数(International Peatures Punction)时性…………………………815 5.1 输入方法编辑函数(Input Method Editor)…………………………………………815 5.2 国家语言支持函数(National Language Support)………………………………… 828 5.3 Unicode和字符集函数(Unicode and Character Set)……………………………… 843 第六章 网络服务函数(Networding Service Function)……………………………………849 6.1 数据链路控制函数(DLC)………………………………………………………………849 6.2 网络函数(Net)…………………………………………………………………………849 6.3 NetBIOS函数……………………………………………………………………………896 6.4 网络DDE函数(Networking DDE)……………………………………………………897 6.5 RAS服务器管理函数(RAS Server Administration)………………………………901 6.6 远程访问服务函数(Remote Access Administration)………………………………910 6.7 服务函数(Service)……………………………………………………………………929 6.8 Windows网络函数(Windows Networking)……………………………………………930 附录1 如何在VB中调用DLL API ……………………………………………………………945 1 DLL API的声明……………………………………………………………………………945 2 DLL API的调用……………………………………………………………………………947 附录2 在Delphi中直接调用Windows API…………………………………………………953
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值