WindowsAPI函数⼤全(Windows编程参考⼿册)
⽂档声明:
以下资料均属于本⼈在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该⽂档在后期会随着学习的深⼊不断补充完善。感谢各位的参考查看。
笔记资料仅供学习交流使⽤,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留⾔,看到后将在第⼀时间更新。
作者:Aliven888
⽂章⽬录
1、Windows API函数分类
Windows API包括⼏千个可调⽤的函数,它们⼤致可以分为以下⼏个⼤类:基本服务、组件服务、⽤户界⾯服务、图形多媒体服务、消息和协作、⽹络、Web服务。
Windows API所提供的七类功能详细介绍:
1、基础服务(Base Services): 提供对Windows系统可⽤的基础资源的访问接⼝。⽐如象:⽂件系统(file system)、外部设备(device)、,进程(process)、线程(thread)以及访问注册表(Windows registry)和错误处理机制(error handling)。这些功能接⼝位于,16位Windows下的、或系统⽂档中;以及32位Windows下的 kernel32.dll和
advapi32.dll中。
2、图形设备接⼝(GDI): 提供功能为:输出图形内容到显⽰器、打印机以及其他外部输出设备。它位于16位Windows下的;以及32位Windows下的gdi32.dll。
3、图形化⽤户界⾯(GUI): 提供的功能有创建和管理屏幕和⼤多数基本控件(control),⽐如按钮和滚动条。接收⿏标和键盘输⼊,以及其他与GUI有关的功能。这些调⽤接⼝位于:16位Windows下的,以及32位Windows下的user32.dll。从Windows XP版本之后,基本控件和通⽤对话框控件(Common Control Library)的调⽤接⼝放在comctl32.dll中。
4、通⽤对话框链接库(Common Dialog Box Library): 为应⽤程序提供标准对话框,⽐如打开/保存⽂档对话框、颜⾊对话框和字体对话框等等。这个链接库位于:16位Windows下的commdlg.dll中,以及32位Windows下comdlg32.dll中。它被归类为User Interface API之下。
5、通⽤控件链接库(Common Control Library):为应⽤程序提供接⼝来访问操作系统提供的⼀些⾼级控件。⽐如像:状态栏(status bar)、进度条(progress bars)、⼯具栏(toolbar)和标签(tab)。这个链接库位于:16位Windows下的commctrl.dll中,以及32位Windows下comctl32.dll中。。它被归类为User Interface API之下。
6、Windows外壳(Windows Shell):作为Windows API的组成部分,不仅允许应⽤程序访问Windows外壳提供的功能,还对之有所改进和增强。它位于16位Windows下的shell.dll中,以及32位Windows下的shell32.dll中(Windows 95则在 shlwapi.dll中)。 它被归类为User Interface API之下。
7、⽹络服务(Network Services):为访问操作系统提供的多种⽹络 功能提供接⼝。它包括NetBIOS、Winsock、NetDDE及RPC等。
2、⽂件处理函数
shell创建文件并写入内容函数名功能描述
CloseHandle关闭⼀个内核对象。其中包括⽂件、⽂件映射、进程、线程、安全和同步对象等
CompareFileTime对⽐两个⽂件的时间
CopyFile复制⽂件
CreateDirectory创建⼀个新⽬录
CreateFile打开和创建⽂件、管道、邮槽、通信服务、设备以及控制台
CreateFileMapping创建⼀个新的⽂件映射对象
DeleteFile删除指定⽂件
DeviceIoControl对设备执⾏指定的操作
DeviceIoControl对设备执⾏指定的操作
函数名功能描述
DosDateTimeToFileTime将DOS⽇期和时间值转换成⼀个 win32 FILETIME 值FileTimeToDosDateTime将⼀个 win32 FILETIME 值转换成DOS⽇期和时间值FileTimeToLocalFileTime将⼀个FILETIME结构转换成本地时间
FileTimeToSystemTime根据⼀个FILETIME结构的内容,装载⼀个SYSTEMTIME结构
FindClose关闭由FindFirstFile函数创建的⼀个搜索句柄
FindFirstFile根据⽂件名查⽂件
FindNextFile根据调⽤FindFirstFile函数时指定的⼀个⽂件名查下⼀个⽂件FlushFileBuffers针对指定的⽂件句柄,刷新内部⽂件缓冲区
FlushViewOfFile将写⼊⽂件映射缓冲区的所有数据都刷新到磁盘
GetBinaryType判断⽂件是否可以执⾏
GetCompressedFileSize判断⼀个压缩⽂件在磁盘上实际占据的字节数
GetCurrentDirectory获取当前进程的所在⽬录
GetDiskFreeSpace获取与⼀个磁盘的组织有关的信息,以及了解剩余空间的容量GetDiskFreeSpaceEx获取与⼀个磁盘的组织以及剩余空间容量有关的信息
GetDriveType判断⼀个磁盘驱动器的类型
GetExpandedName取得⼀个压缩⽂件的全名
GetFileAttributes判断指定⽂件的属性
GetFileInformationByHandle这个函数提供了获取⽂件信息的⼀种机制
GetFileSize判断⽂件长度
GetFileTime取得指定⽂件的时间信息
GetFileType在给出⽂件句柄的前提下,判断⽂件类型
GetFileVersionInfo从⽀持版本标记的⼀个模块⾥获取⽂件版本信息
GetFileVersionInfoSize针对包含了版本资源的⼀个⽂件,判断容纳⽂件版本信息需要⼀个多⼤的缓冲区GetFullPathName获取指定⽂件的完整路径名
GetLogicalDrives判断系统中存在哪些逻辑驱动器字母
GetLogicalDriveStrings获取⼀个字串,其中包含了当前所有逻辑驱动器的根驱动器路径GetOverlappedResult判断⼀个重叠操作当前的状态
GetPrivateProfileInt为初始化⽂件(.ini⽂件)中指定的条⽬获取⼀个整数值GetPrivateProfileSection获取指定⼩节(在.ini⽂件中)所有项名和值的⼀个列表GetPrivateProfileString为初始化⽂件中指定的条⽬取得字串
GetProfileInt取得win.ini初始化⽂件中指定条⽬的⼀个整数值
GetProfileSection获取指定⼩节(在win.ini⽂件中)所有项名和值的⼀个列表
GetProfileString为win.ini初始化⽂件中指定的条⽬取得字串
GetShortPathName获取指定⽂件的短路径名
GetSystemDirectory取得Windows系统⽬录(即System⽬录)的完整路径名
GetTempFileName这个函数包含了⼀个临时⽂件的名字,它可由应⽤程序使⽤
GetTempPath获取为临时⽂件指定的路径
函数名功能描述
GetVolumeInformation获取与⼀个磁盘卷有关的信息
GetWindowsDirectory获取Windows⽬录的完整路径名
hread参考lread
hwrite参考lwrite函数
lclose关闭指定的⽂件
lcreat创建⼀个⽂件
llseek设置⽂件中进⾏读写的当前位置
LockFile锁定⽂件的某⼀部分,使其不与其他应⽤程序共享
LockFileEx与LockFile相似,只是它提供了更多的功能
lopen以⼆进制模式打开指定的⽂件
lread将⽂件中的数据读⼊内存缓冲区
lwrite将数据从内存缓冲区写⼊⼀个⽂件
LZClose关闭由LZOpenFile 或 LZInit函数打开的⼀个⽂件
LZCopy复制⼀个⽂件
LZInit这个函数⽤于初始化内部缓冲区
LZOpenFile该函数能执⾏⼤量不同的⽂件处理,⽽且兼容于压缩⽂件
LZRead将数据从⽂件读⼊内存缓冲区
LZSeek设置⼀个⽂件中进⾏读写的当前位置
MapViewOfFile将⼀个⽂件映射对象映射到当前应⽤程序的地址空间
MoveFile移动⽂件
OpenFile这个函数能执⾏⼤量不同的⽂件操作
OpenFileMapping打开⼀个现成的⽂件映射对象
QueryDosDevice在Windows NT中,DOS设备名会映射成NT系统设备名。该函数可判断当前的设备映射情况ReadFile从⽂件中读出数据
ReadFileEx与ReadFile相似,只是它只能⽤于异步读操作,并包含了⼀个完整的回调
RegCloseKey关闭系统注册表中的⼀个项(或键)
RegConnectRegistry访问远程系统的部分注册表
RegCreateKey在指定的项下创建或打开⼀个项
RegCreateKeyEx在指定项下创建新项的更复杂的⽅式。在Win32环境中建议使⽤这个函数
RegDeleteKey删除现有项下⽅⼀个指定的⼦项
RegDeleteValue删除指定项下⽅的⼀个值
RegEnumKey枚举指定项的⼦项。在Win32环境中应使⽤RegEnumKeyEx
RegEnumKeyEx枚举指定项下⽅的⼦项
RegEnumValue枚举指定项的值
RegFlushKey将对项和它的⼦项作出的改动实际写⼊磁盘
RegGetKeySecurity获取与⼀个注册表项有关的安全信息
函数名功能描述
RegLoadKey从以前⽤RegSaveKey函数创建的⼀个⽂件⾥装载注册表信息RegNotifyChangeKeyValue注册表项或它的任何⼀个⼦项发⽣变化时,⽤这个函数提供⼀种通知机制
RegOpenKey打开⼀个现有的注册表项
RegOpenKeyEx打开⼀个现有的项。在win32下推荐使⽤这个函数
RegQueryInfoKey获取与⼀个项有关的信息
RegQueryValue取得指定项或⼦项的默认(未命名)值
RegQueryValueEx获取⼀个项的设置值
RegReplaceKey⽤⼀个磁盘⽂件保存的信息替换注册表信息;并创建⼀个备份,在其中包含当前注册表信息RegRestoreKey从⼀个磁盘⽂件恢复注册表信息
RegSaveKey将⼀个项以及它的所有⼦项都保存到⼀个磁盘⽂件
RegSetKeySecurity设置指定项的安全特性
RegSetValue设置指定项或⼦项的默认值
RegSetValueEx设置指定项的值
RegUnLoadKey卸载指定的项以及它的所有⼦项
RemoveDirectory删除指定⽬录
SearchPath查指定⽂件
SetCurrentDirectory设置当前⽬录
SetEndOfFile针对⼀个打开的⽂件,将当前⽂件位置设为⽂件末尾
SetFileAttributes设置⽂件属性
SetFilePointer在⼀个⽂件中设置当前的读写位置
SetFileTime设置⽂件的创建、访问及上次修改时间
SetHandleCount这个函数不必在win32下使⽤;即使使⽤,也不会有任何效果
SetVolumeLabel设置⼀个磁盘的卷标(Label)
SystemTimeToFileTime根据⼀个FILETIME结构的内容,载⼊⼀个SYSTEMTIME结构
UnlockFile解除对⼀个⽂件的锁定
UnlockFileEx解除对⼀个⽂件的锁定
UnmapViewOfFile在当前应⽤程序的内存地址空间解除对⼀个⽂件映射对象的映射
VerFindFile⽤这个函数决定⼀个⽂件应安装到哪⾥
VerInstallFile⽤这个函数安装⼀个⽂件
VerLanguageName这个函数能根据16位语⾔代码获取⼀种语⾔的名称
VerQueryValue这个函数⽤于从版本资源中获取信息
WriteFile将数据写⼊⼀个⽂件
WriteFileEx与WriteFile类似,只是它只能⽤于异步写操作,并包括了⼀个完整的回调WritePrivateProfileSection为⼀个初始化⽂件(.ini)中指定的⼩节设置所有项名和值
WritePrivateProfileString在初始化⽂件指定⼩节内设置⼀个字串
WriteProfileSection为Win.ini初始化⽂件中⼀个指定的⼩节设置所有项名和值
WriteProfileString在Win.ini初始化⽂件指定⼩节内设置⼀个字串
WriteProfileString在Win.ini初始化⽂件指定⼩节内设置⼀个字串
函数名功能描述
3、⽹络函数
函数名功能描述
WNetAddConnection创建同⼀个⽹络资源的永久性连接
WNetAddConnection2创建同⼀个⽹络资源的连接
WNetAddConnection3创建同⼀个⽹络资源的连接
WNetCancelConnection结束⼀个⽹络连接
WNetCancelConnection2结束⼀个⽹络连接
WNetCloseEnum结束⼀次枚举操作
WNetConnectionDialog启动⼀个标准对话框,以便建⽴同⽹络资源的连接WNetDisconnectDialog启动⼀个标准对话框,以便断开同⽹络资源的连接WNetEnumResource枚举⽹络资源
WNetGetConnection获取本地或已连接的⼀个资源的⽹络名称
WNetGetLastError获取⽹络错误的扩展错误信息
WNetGetUniversalName获取⽹络中⼀个⽂件的远程名称以及/或者UNC(统⼀命名规范)名称WNetGetUser获取⼀个⽹络资源⽤以连接的名字
WNetOpenEnum启动对⽹络资源进⾏枚举的过程
4、消息函数
函数名功能描述
BroadcastSystemMessage将⼀条系统消息⼴播给系统中所有的顶级窗⼝GetMessagePos取得消息队列中上⼀条消息处理完毕时的⿏标指针屏幕位置GetMessageTime取得消息队列中上⼀条消息处理完毕时的时间
PostMessage将⼀条消息投递到指定窗⼝的消息队列
PostThreadMessage将⼀条消息投递给应⽤程序
RegisterWindowMessage获取分配给⼀个字串标识符的消息编号
ReplyMessage答复⼀个消息
SendMessage调⽤⼀个窗⼝的窗⼝函数,将⼀条消息发给那个窗⼝SendMessageCallback将⼀条消息发给窗⼝
SendMessageTimeout向窗⼝发送⼀条消息
SendNotifyMessage向窗⼝发送⼀条消息
5、打印函数
函数名功能描述
AbortDoc取消⼀份⽂档的打印
AbortPrinter删除与⼀台打印机关联在⼀起的缓冲⽂件
AddForm为打印机的表单列表添加⼀个新表单
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论