Windows API

原文http://bbs.51cto.com/archiver/tid-438546.html 

API之网络函数 % A/ @" r7 l6 g% V: |
WNetAddConnection 创建同一个网络资源的永久性连接 - _: r$ W6 k  X! U
WNetAddConnection2 创建同一个网络资源的连接 
WNetAddConnection3 创建同一个网络资源的连接 1 N* k4 `; K* k" U
WNetCancelConnection 结束一个网络连接 1 M% H; ^6 u! A
WNetCancelConnection2 结束一个网络连接 ' u8 J$ H4 P' f( J  I0 J% C& I
WNetCloseEnum 结束一次枚举操作 + x4 y* X# t5 G0 n
WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 . [( \4 _$ y* Y% V  s- r( A+ z
WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接 
WNetEnumResource 枚举网络资源 $ n( M& H! \0 M, B
WNetGetConnection 获取本地或已连接的一个资源的网络名称 3 ]0 `! Y3 S# |& l+ \! P2 ^
WNetGetLastError 获取网络错误的扩展错误信息   ^6 V, k2 D: `' w- [
WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称 
WNetGetUser 获取一个网络资源用以连接的名字 + N7 \) u6 `" e! b0 @
WNetOpenEnum 启动对网络资源进行枚举的过程 
2. API之消息函数 
BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口 + r$ y# e7 h, r
GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置 , T  |4 O" Y% f9 q. C
GetMessageTime 取得消息队列中上一条消息处理完毕时的时间 
PostMessage 将一条消息投递到指定窗口的消息队列 
PostThreadMessage 将一条消息投递给应用程序 
RegisterWindowMessage 获取分配给一个字串标识符的消息编号 8 s' I; l( D: l, h8 f1 s
ReplyMessage 答复一个消息 
SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口 
SendMessageCallback 将一条消息发给窗口 1 L) r: v6 K( R
SendMessageTimeout 向窗口发送一条消息 % ^- b5 h2 j* Y1 K+ b% F5 L, j
SendNotifyMessage 向窗口发送一条消息 
3. API之文件处理函数 3 ^( z/ U- d. I
CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 
CompareFileTime 对比两个文件的时间 7 _9 _2 w- k* t0 n/ B$ K6 }
CopyFile 复制文件 : r9 h" I- h0 U% D- K
CreateDirectory 创建一个新目录 - V" h6 ?& \& r/ b7 ]1 M
CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台 : x: P8 n! L: g2 p+ X) K! e
CreateFileMapping 创建一个新的文件映射对象 
DeleteFile 删除指定文件 
DeviceIoControl 对设备执行指定的操作 7 O4 E' ^& f% V
DosDateTimeToFileTime 将DOS日期和时间值转换成一个 win32 FILETIME 值 " j# f5 _- t/ Q6 C2 e- |
FileTimeToDosDateTime 将一个 win32 FILETIME 值转换成DOS日期和时间值 
FileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间 & O2 o+ d' l; W
FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构 
FindClose 关闭由FindFirstFile函数创建的一个搜索句柄 $ V" u+ l' U" H) m
FindFirstFile 根据文件名查找文件 
FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件 : k3 h- F  L/ ^% O8 r1 N
FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区 / k6 t7 d) g. ?
FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘 
GetBinaryType 判断文件是否可以执行 
GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数 ) T( A" }/ B& s# X0 s$ C+ n
GetCurrentDirectory 在一个缓冲区中装载当前目录 
GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量 * d9 h2 I% [& H2 L$ a
GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的信息 
GetDriveType 判断一个磁盘驱动器的类型 
GetExpandedName 取得一个压缩文件的全名 
GetFileAttributes 判断指定文件的属性 ! u& `7 i) M: p5 F' {, ]1 s6 m
GetFileInformationByHandle 这个函数提供了获取文件信息的一种机制 + c0 z4 n) H" @0 d
GetFileSize 判断文件长度 ; g- @( x2 j# q: X8 h
GetFileTime 取得指定文件的时间信息 : e( I8 K, }$ S; {- r- x
GetFileType 在给出文件句柄的前提下,判断文件类型 
GetFileVersionInfo 从支持版本标记的一个模块里获取文件版本信息 ( u/ u+ h$ t5 B5 ~6 C& C
GetFileVersionInfoSize 针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区 
GetFullPathName 获取指定文件的完整路径名 
GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母 3 g' v4 A  u$ ]6 B; e) d1 ?
GetLogicalDriveStrings 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径 $ V7 X6 A$ z8 V
GetOverlappedResult 判断一个重叠操作当前的状态 
GetPrivateProfileInt 为初始化文件(.ini文件)中指定的条目获取一个整数值 
GetPrivateProfileSection 获取指定小节(在.ini文件中)所有项名和值的一个列表 ) W( V+ k9 o9 L
GetPrivateProfileString 为初始化文件中指定的条目取得字串 ! G  K* J* I6 L' R% {
GetProfileInt 取得win.ini初始化文件中指定条目的一个整数值 
GetProfileSection 获取指定小节(在win.ini文件中)所有项名和值的一个列表 
GetProfileString 为win.ini初始化文件中指定的条目取得字串 
GetShortPathName 获取指定文件的短路径名 5 m; k4 C: Y* }# G% }4 q
GetSystemDirectory 取得Windows系统目录(即System目录)的完整路径名 ; b5 y, T' P- C
GetTempFileName 这个函数包含了一个临时文件的名字,它可由应用程序使用 2 E# ~+ B' W  R" L
GetTempPath 获取为临时文件指定的路径 + u; i$ r5 k2 C1 d/ @8 p
GetVolumeInformation 获取与一个磁盘卷有关的信息 # m! a; ?/ `( I
GetWindowsDirectory 获取Windows目录的完整路径名 
hread 参考lread   V* Z3 O6 `( |* o% D1 G0 ~
hwrite 参考lwrite函数 ( s8 T4 D! y* a- ]% h5 C1 k( c4 b) }
lclose 关闭指定的文件 4 _7 z+ H% i9 h. y
lcreat 创建一个文件 
llseek 设置文件中进行读写的当前位置 ; a7 A3 }. Z$ c& `
LockFile 锁定文件的某一部分,使其不与其他应用程序共享 
LockFileEx 与LockFile相似,只是它提供了更多的功能 2 y( B) b& K. r; P* l1 \# L
lopen 以二进制模式打开指定的文件 & J3 m& ^; j+ H5 t7 D! V
lread 将文件中的数据读入内存缓冲区 
lwrite 将数据从内存缓冲区写入一个文件 $ q' c  |& B  u) H; Y% q/ Y
LZClose 关闭由LZOpenFile 或 LZInit函数打开的一个文件 
LZCopy 复制一个文件 
LZInit 这个函数用于初始化内部缓冲区 $ ?* |" p0 m2 ?$ o& a. Q! i
LZOpenFile 该函数能执行大量不同的文件处理,而且兼容于压缩文件 
LZRead 将数据从文件读入内存缓冲区 6 j* {& U+ a" a0 v5 s& a
LZSeek 设置一个文件中进行读写的当前位置 
MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间 5 P4 w! t4 H8 Q& i" ?# ^
MoveFile 移动文件 5 i( [8 L( U1 a' z2 V
OpenFile 这个函数能执行大量不同的文件操作 
OpenFileMapping 打开一个现成的文件映射对象 - \7 W4 v3 h' P1 H8 I
QueryDosDevice 在Windows NT中,DOS设备名会映射成NT系统设备名。该函数可判断当前的设备映射情况 9 c3 R/ o. H1 A/ P# R; g2 y
ReadFile 从文件中读出数据 
ReadFileEx 与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调 
RegCloseKey 关闭系统注册表中的一个项(或键) * Z, Q  T$ t4 `, }
RegConnectRegistry 访问远程系统的部分注册表 8 N, B# k. X, e2 D
RegCreateKey 在指定的项下创建或打开一个项 9 R5 Z6 w7 I. s8 \0 D
RegCreateKeyEx 在指定项下创建新项的更复杂的方式。在Win32环境中建议使用这个函数 
RegDeleteKey 删除现有项下方一个指定的子项 ) e/ @% Q5 B- t1 @
RegDeleteValue 删除指定项下方的一个值 7 ?: R8 V+ C: V* k5 c  z/ H0 V
RegEnumKey 枚举指定项的子项。在Win32环境中应使用RegEnumKeyEx 
RegEnumKeyEx 枚举指定项下方的子项 : d$ ]/ z. i/ N, H# o
RegEnumValue 枚举指定项的值 . O; g3 `7 h" v' f; i! C' X
RegFlushKey 将对项和它的子项作出的改动实际写入磁盘 ( a! V3 u& q7 S2 i  J9 T6 U8 N
RegGetKeySecurity 获取与一个注册表项有关的安全信息 
RegLoadKey 从以前用RegSaveKey函数创建的一个文件里装载注册表信息 1 ]* d3 u+ {  ~. v" Y" V/ B: \
RegNotifyChangeKeyValue 注册表项或它的任何一个子项发生变化时,用这个函数提供一种通知机制 3 d3 D' a$ z8 K( W: {5 I+ [
RegOpenKey 打开一个现有的注册表项   T: w* ]+ `, ^( ]
RegOpenKeyEx 打开一个现有的项。在win32下推荐使用这个函数 
RegQueryInfoKey 获取与一个项有关的信息 8 T5 s7 y+ e; C" j7 c7 y
RegQueryValue 取得指定项或子项的默认(未命名)值 4 |5 P5 h# C, ?' M2 W% R7 {
RegQueryValueEx 获取一个项的设置值 : f0 }0 f, f( S  v0 w, b/ z
RegReplaceKey 用一个磁盘文件保存的信息替换注册表信息;并创建一个备份,在其中包含当前注册表信息 ) [( ?# u8 k* a& s
RegRestoreKey 从一个磁盘文件恢复注册表信息 
RegSaveKey 将一个项以及它的所有子项都保存到一个磁盘文件 . q  x0 r' ^( m- _; d3 a+ q
RegSetKeySecurity 设置指定项的安全特性 
RegSetValue 设置指定项或子项的默认值 
RegSetValueEx 设置指定项的值 * _- |/ \- U/ q
RegUnLoadKey 卸载指定的项以及它的所有子项 0 W' k0 e1 N& w+ Y8 s+ K
RemoveDirectory 删除指定目录 
SearchPath 查找指定文件 
SetCurrentDirectory 设置当前目录 
SetEndOfFile 针对一个打开的文件,将当前文件位置设为文件末尾 
SetFileAttributes 设置文件属性 
SetFilePointer 在一个文件中设置当前的读写位置 
SetFileTime 设置文件的创建、访问及上次修改时间 8 Q' O" p+ s3 g
SetHandleCount 这个函数不必在win32下使用;即使使用,也不会有任何效果 ! H: w# |# ^# p" {7 j
SetVolumeLabel 设置一个磁盘的卷标(Label) , I: N( N- \& \0 g. ]
SystemTimeToFileTime 根据一个FILETIME结构的内容,载入一个SYSTEMTIME结构 3 k, N9 T3 {6 p" [' r; e
UnlockFile 解除对一个文件的锁定 
UnlockFileEx 解除对一个文件的锁定 ! b$ ]" g% L0 G- `  y
UnmapViewOfFile 在当前应用程序的内存地址空间解除对一个文件映射对象的映射 
VerFindFile 用这个函数决定一个文件应安装到哪里 # s: h$ e+ _0 ?$ \7 V$ [0 ^
VerInstallFile 用这个函数安装一个文件 
VerLanguageName 这个函数能根据16位语言代码获取一种语言的名称 6 q9 f1 n9 M& l2 G0 P% u0 k/ U
VerQueryValue 这个函数用于从版本资源中获取信息 
WriteFile 将数据写入一个文件 
WriteFileEx 与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调 0 f5 o- _7 V! E/ ~7 h6 _+ w  V5 `
WritePrivateProfileSection 为一个初始化文件(.ini)中指定的小节设置所有项名和值 6 K: p& z! w8 ?, ^% ^! v+ H+ |
WritePrivateProfileString 在初始化文件指定小节内设置一个字串 
WriteProfileSection 为Win.ini初始化文件中一个指定的小节设置所有项名和值 6 v0 g2 r# n' V5 W, J% j$ Z
WriteProfileString 在Win.ini初始化文件指定小节内设置一个字串 % L; d$ X/ i* I- G' d, t& a; g) O2 C3 P
4. API之打印函数 + s3 p& Z/ {- K6 S
AbortDoc 取消一份文档的打印 4 Y! B2 Q, Z3 H" J2 X( J
AbortPrinter 删除与一台打印机关联在一起的缓冲文件 
AddForm 为打印机的表单列表添加一个新表单 
AddJob 用于获取一个有效的路径名,以便用它为作业创建一个后台打印文件。它也会为作业分配一个作业编号 
AddMonitor 为系统添加一个打印机监视器 
AddPort 启动“添加端口”对话框,允许用户在系统可用端口列表中加入一个新端口 
AddPrinter 在系统中添加一台新打印机 0 E& l: R  R! X. j, q/ i
AddPrinterConnection 连接指定的打印机 ' G1 Y1 c- W7 h* _  p
AddPrinterDriver 为指定的系统添加一个打印驱动程序 ' O! r! O6 ^) P* C+ K: B) Q' i. h
AddPrintProcessor 为指定的系统添加一个打印处理器 
AddPrintProvidor 为系统添加一个打印供应商 
AdvancedDocumentProperties 启动打印机文档设置对话框 - j) {9 V9 |' j/ Z5 N
ClosePrinter 关闭一个打开的打印机对象 
ConfigurePort 针对指定的端口,启动一个端口配置对话框 
ConnectToPrinterDlg 启动连接打印机对话框,用它同访问网络的打印机连接 
DeleteForm 从打印机可用表单列表中删除一个表单 
DeleteMonitor 删除指定的打印监视器 
DeletePort 启动“删除端口”对话框,允许用户从当前系统删除一个端口 5 g9 l" U5 p. d  y  c$ {9 A
DeletePrinter 将指定的打印机标志为从系统中删除 
DeletePrinterConnection 删除与指定打印机的连接 5 R, z' g5 W. A# E- i+ H- U
DeletePrinterDriver 从系统删除一个打印机驱动程序 
DeletePrintProcessor 从指定系统删除一个打印处理器 8 ?9 `4 k- X4 o) l
DeletePrintProvidor 从系统中删除一个打印供应商 / Q) l6 I' K3 g8 R' d$ Y, a) X
DeviceCapabilities 利用这个函数可获得与一个设备的能力有关的信息 
DocumentProperties 打印机配置控制函数 ; I" A, x6 O2 D  ?6 y
EndDocAPI 结束一个成功的打印作业 $ U! {; e0 }# }3 d
EndDocPrinter 在后台打印程序的级别指定一个文档的结束 7 }+ L4 s' r  ^. g
EndPage 用这个函数完成一个页面的打印,并准备设备场景,以便打印下一个页 0 u0 b0 b- A3 K% O, L" l) k- e3 E
EndPagePrinter 指定一个页在打印作业中的结尾 
EnumForms 枚举一台打印机可用的表单 ; w2 g6 p; ~! D5 U
EnumJobs 枚举打印队列中的作业 " V* j* s* J' F# \: z' X
EnumMonitors 枚举可用的打印监视器 7 m1 X! s" ~3 o2 R8 f0 K
EnumPorts 枚举一个系统可用的端口 $ P( \" e8 }$ T, S% \/ c
EnumPrinterDrivers 枚举指定系统中已安装的打印机驱动程序 
EnumPrinters 枚举系统中安装的打印机 
EnumPrintProcessorDatatypes 枚举由一个打印处理器支持的数据类型 
EnumPrintProcessors 枚举系统中可用的打印处理器 . m5 Q4 Q5 s. L2 A! o
Escape 设备控制函数 : v$ ~: |3 K, N& b
FindClosePrinterChangeNotification 关闭用FindFirstPrinterChangeNotification函数获取的一个打印机通告对象 : A% h9 c  [$ G) F1 [+ M1 Z
FindFirstPrinterChangeNotification 创建一个新的改变通告对象,以便我们注意打印机状态的各种变化 
FindNextPrinterChangeNotification 用这个函数判断触发一次打印机改变通告信号的原因 ; P& j+ P! B1 V. Y2 F  e3 @
FreePrinterNotifyInfo 释放由FindNextPrinterChangeNotification函数分配的一个缓冲区 ) L, v. O2 y  b( J1 X3 K3 y
GetForm 取得与指定表单有关的信息 
GetJob 获取与指定作业有关的信息 ) \+ ~' U8 t- D' a
GetPrinter 取得与指定打印机有关的信息 ; `" V, r* U! c" J, s" |, g
GetPrinterData 为打印机设置注册表配置信息 2 z/ J) K: B2 @" a. M' Z+ ^2 a
GetPrinterDriver 针对指定的打印机,获取与打印机驱动程序有关的信息 - @+ J" ]/ F: m3 P* \
GetPrinterDriverDirectory 判断指定系统中包含了打印机驱动程序的目录是什么 
GetPrintProcessorDirectory 判断指定系统中包含了打印机处理器驱动程序及文件的目录 7 e+ B2 m; l4 v
OpenPrinter 打开指定的打印机,并获取打印机的句柄 
PrinterMessageBox 在拥有指定打印作业的系统上显示一个打印机出错消息框 " {! k0 u, s% Z4 n# ?$ |/ v
PrinterProperties 启动打印机属性对话框,以便对打印机进行配置 
ReadPrinter 从打印机读入数据 0 @6 r4 {! R% B" s
ResetDC 重设一个设备场景 
ResetPrinter 改变指定打印机的默认数据类型及文档设置 9 t6 P8 K. N5 D3 l' f
ScheduleJob 提交一个要打印的作业 7 L4 T3 J; i8 x2 Q) Y) E
SetAbortProc 为Windows指定取消函数的地址 5 Y1 v5 Y9 ]% b  n3 Y$ \
SetForm 为指定的表单设置信息 
SetJob 对一个打印作业的状态进行控制 # q; O  m# l+ r* s
SetPrinter 对一台打印机的状态进行控制 5 W& @, A! e: O
SetPrinterData 设置打印机的注册表配置信息 + }' J+ E% U' y
StartDoc 开始一个打印作业 
StartDocPrinter 在后台打印的级别启动一个新文档 2 Y! b8 i7 x4 ^# L4 J0 l2 w: n
StartPage 打印一个新页前要先调用这个函数 * ~8 c$ R) X  h
StartPagePrinter 在打印作业中指定一个新页的开始 : Y9 @( j( i, z! J: m. m
WritePrinter 将发送目录中的数据写入打印机 6 _( Z0 e7 A6 z) }% i0 w
5. API之文本和字体函数 % l4 J2 n8 @+ h$ |% p/ o% T4 i( W' \- o
AddFontResource 在Windows系统中添加一种字体资源 " l! v( ]7 u. B) j7 ~
CreateFont 用指定的属性创建一种逻辑字体 ; @, }0 A* Y5 ^3 x# g$ h! a
CreateFontIndirect 用指定的属性创建一种逻辑字体 
CreateScalableFontResource 为一种TureType字体创建一个资源文件,以便能用API函数AddFontResource将其加入Windows系统 
DrawText 将文本描绘到指定的矩形中 & w) Y2 E' i( x! d
DrawTextEx 与DrawText相似,只是加入了更多的功能   p. s, P8 i9 D: B8 V* e( j
EnumFontFamilies 列举指定设备可用的字体 ; L+ J" V$ A. l* X" s4 f
EnumFontFamiliesEx 列举指定设备可用的字体 
EnumFonts 列举指定设备可用的字体 
ExtTextOut 经过扩展的文本描绘函数。也请参考SetTextAlign函数   n, h% o6 c  `# h" U
GetAspectRatioFilterEx 用SetMapperFlags要求Windows只选择与设备当前纵横比相符的光栅字体时,本函数可判断纵横比大小 
GetCharABCWidths 判断TureType字体中一个或多个字符的A-B-C大小 ( n7 p0 i6 m+ X; a
GetCharABCWidthsFloat 查询一种字体中一个或多个字符的A-B-C尺寸 3 q2 g* x2 y+ A  Z' O8 O) e9 H
GetCharacterPlacement 该函数用于了解如何用一个给定的字符显示一个字串 % W! |* Q3 z" ?, S+ Q. X# F
GetCharWidth 调查字体中一个或多个字符的宽度 
GetFontData 接收一种可缩放字体文件的数据 % p4 U  T8 [. H
GetFontLanguageInfo 返回目前选入指定设备场景中的字体的信息 
GetGlyphOutline 取得TureType字体中构成一个字符的曲线信息 
GetKerningPairs 取得指定字体的字距信息 ( g; p. {$ Z8 U3 A
GetOutlineTextMetrics 接收与TureType字体内部特征有关的详细信息 , W, s9 G  D; ^/ b; b
GetRasterizerCaps 了解系统是否有能力支持可缩放的字体 & Z2 d* X% G& u3 O0 |1 Y
GetTabbedTextExtent 判断一个字串占据的范围,同时考虑制表站扩充的因素 ! G) M) Z' q* q- v  s+ d* g
GetTextAlign 接收一个设备场景当前的文本对齐标志 
GetTextCharacterExtra 判断额外字符间距的当前值 6 s# ^6 {. x, }
GetTextCharset 接收当前选入指定设备场景的字体的字符集标识符 
GetTextCharsetInfo 获取与当前选定字体的字符集有关的详细信息 
GetTextColor 判断当前字体颜色。通常也称为“前景色” 
GetTextExtentExPoint 判断要填入指定区域的字符数量。也用一个数组装载每个字符的范围信息 ! Q4 M' d! e8 J8 t
GetTextExtentPoint 判断一个字串的大小(范围) 5 w$ e) I$ x; m6 T1 W# a/ a3 j+ @
GetTextFace 获取一种字体的字样名 0 V  \: S) M/ j9 S7 g9 x
GetTextMetrics 获取与选入一种设备场景的物理字体有关的信息 ! V- @* }$ U  }4 t
GrayString 描绘一个以灰色显示的字串。通常由Windows用于标识禁止状态 
PolyTextOut 描绘一系列字串 
RemoveFontResource 从Windows系统中删除一种字体资源 9 v8 ]4 g# Q- E9 ?9 R$ F6 \
SetMapperFlags Windows对字体进行映射时,可用该函数选择与目标设备的纵横比相符的光栅字体 
SetTextAlign 设置文本对齐方式,并指定在文本输出过程中使用设备场景的当前位置 5 o5 c, a# g4 s, Y1 R0 b: K% ]
SetTextCharacterExtra 描绘文本的时候,指定要在字符间插入的额外间距 & Y; a: N8 s+ T/ B+ z; l* C
SetTextColor 设置当前文本颜色。这种颜色也称为“前景色” 8 \: M5 |6 O( t/ @; X& U
SetTextJustification 通过指定一个文本行应占据的额外空间,可用这个函数对文本进行两端对齐处理 
TabbedTextOut 支持制表站的一个文本描绘函数 
TextOut 文本绘图函数 0 |6 K* g, Q9 K2 T! U8 v% N( i/ w
6. API之菜单函数 
AppendMenu 在指定的菜单里添加一个菜单项 6 m  \/ ~/ h, B5 x  g
CheckMenuItem 复选或撤消复选指定的菜单条目 - [2 B9 u: z4 d6 s8 X4 _" b
CheckMenuRadioItem 指定一个菜单条目被复选成“单选”项目 ! T. A1 E1 S, _% l- K; U; B
CreateMenu 创建新菜单 % j5 b8 k: Z( n( p. [
CreatePopupMenu 创建一个空的弹出式菜单 
DeleteMenu 删除指定的菜单条目 ' b( t" i3 o4 |2 I0 J3 c/ d
DestroyMenu 删除指定的菜单 
DrawMenuBar 为指定的窗口重画菜单 
EnableMenuItem 允许或禁止指定的菜单条目 ) X1 E0 @& T  H
GetMenu 取得窗口中一个菜单的句柄 
GetMenuCheckMarkDimensions 返回一个菜单复选符的大小 
GetMenuContextHelpId 取得一个菜单的帮助场景ID 0 J8 o! c7 I. W9 ~! A4 v7 z- {
GetMenuDefaultItem 判断菜单中的哪个条目是默认条目 # f7 H  S3 [( I
GetMenuItemCount 返回菜单中条目(菜单项)的数量 : @: E# A& J+ ~0 l: N! n$ F
GetMenuItemID 返回位于菜单中指定位置处的条目的菜单ID 4 G! A2 O3 [2 G1 _: ^
GetMenuItemInfo 取得(接收)与一个菜单条目有关的特定信息 
GetMenuItemRect 在一个矩形中装载指定菜单条目的屏幕坐标信息 
GetMenuState 取得与指定菜单条目状态有关的信息 ; t9 j- r, l! u
GetMenuString 取得指定菜单条目的字串 1 h) N% V) r4 Z9 S2 w- g. Y" u
GetSubMenu 取得一个弹出式菜单的句柄,它位于菜单中指定的位置 ; F; s. a& _! v/ \, ]
GetSystemMenu 取得指定窗口的系统菜单的句柄 
HiliteMenuItem 控制顶级菜单条目的加亮显示状态 / [3 ?. F5 o# A3 \
InsertMenu 在菜单的指定位置处插入一个菜单条目,并根据需要将其他条目向下移动 
InsertMenuItem 插入一个新菜单条目 
IsMenu 判断指定的句柄是否为一个菜单的句柄 ) Z( t6 O1 ?* G. P$ n; d% `' ~
LoadMenu 从指定的模块或应用程序实例中载入一个菜单 ! x3 @1 R' k2 C9 L/ I6 c' ]
LoadMenuIndirect 载入一个菜单 
MenuItemFromPoint 判断哪个菜单条目包含了屏幕上一个指定的点 ! N4 W* {* u  D* g
ModifyMenu 改变菜单条目 
RemoveMenu 删除指定的菜单条目 7 Y5 t5 S8 c- ^/ T! h, Z
SetMenu 设置窗口菜单 9 |+ F: t) g. n
SetMenuContextHelpId 设置一个菜单的帮助场景ID 9 n% J1 v( N4 p8 N* U% V$ W
SetMenuDefaultItem 将一个菜单条目设为默认条目 
SetMenuItemBitmaps 设置一幅特定位图,令其在指定的菜单条目中使用,代替标准的复选符号(√) + ]0 J8 E* F* r* V, [: U
SetMenuItemInfo 为一个菜单条目设置指定的信息 
TrackPopupMenu 在屏幕的任意地方显示一个弹出式菜单 
TrackPopupMenuEx 与TrackPopupMenu相似,只是它提供了额外的功能 - C5 h1 [9 U  r  E
7. API之位图、图标和光栅运算函数 
BitBlt 将一幅位图从一个设备场景复制到另一个 ) D9 U% n( V4 ~" x
CopyIcon 制作指定图标或鼠标指针的一个副本。这个副本从属于发出调用的应用程序 : S- u0 J/ i2 @
CopyImage 复制位图、图标或指针,同时在复制过程中进行一些转换工作 ' h6 n) D6 m1 \' j! m
CreateBitmap 按照规定的格式创建一幅与设备有关位图 0 W; h8 K  V/ S
CreateBitmapIndirect 创建一幅与设备有关位图 . a" H5 [; S8 |/ u) u0 A; n
CreateCompatibleBitmap 创建一幅与设备有关位图,它与指定的设备场景兼容 
CreateCursor 创建一个鼠标指针 & ]8 s# ~8 M. _% F4 W
CreateDIBitmap 根据一幅与设备无关的位图创建一幅与设备有关的位图 5 A' b$ {8 m) {! B& Q. k
CreateDIBSection 创建一个DIBSection 4 P# \3 R# r! w1 i" u  u
CreateIcon 创建一个图标 
CreateIconIndirect 创建一个图标 
DestroyCursor 清除指定的鼠标指针,并释放它占用的所有系统资源 7 z* E: _( ?! v3 R* Q& R0 O
DestroyIcon 清除图标 + W4 o4 k/ D6 q) u! x( [& y. w3 t2 E" q
DrawIcon 在指定的位置画一个图标   J! y! y3 W- \( F2 o
DrawIconEx 描绘一个图标或鼠标指针。与DrawIcon相比,这个函数提供了更多的功能 & E+ T+ G3 x$ Z; L' z3 l" [! S
ExtractAssociatedIcon 判断一个可执行程序或DLL中是否存在图标,或是否有图标与系统注册表中指定的文件存在关联并提取之 : ?" K3 i7 Q" z6 e
ExtractIcon 判断一个可执行文件或DLL中是否有图标存在,并将其提取出来 $ u8 D2 f# r% K& }; d: B
GetBitmapBits 将来自位图的二进制位复制到一个缓冲区 5 W5 ]6 _. t7 E5 m7 s* ?
GetBitmapDimensionEx 取得一幅位图的宽度和高度 
GetDIBColorTable 从选入设备场景的DIBSection中取得颜色表信息 
GetDIBits 将来自一幅位图的二进制位复制到一幅与设备无关的位图里 / e  c  N$ G  l' ^9 d( m( d: V% V
GetIconInfo 取得与图标有关的信息 
GetStretchBltMode 判断StretchBlt 和 StretchDIBits函数采用的伸缩模式 
LoadBitmap 从指定的模块或应用程序实例中载入一幅位图 + a' y2 F# O1 a$ c0 R0 Y3 T
LoadCursor 从指定的模块或应用程序实例中载入一个鼠标指针 ( a- s" p( h% \  ^6 ^) ~9 V
LoadCursorFromFile 在一个指针文件或一个动画指针文件的基础上创建一个指针 
LoadIcon 从指定的模块或应用程序实例中载入一个图标 
LoadImage 载入一个位图、图标或指针 
MaskBlt 执行复杂的图象传输,同时进行掩模(MASK)处理 
PatBlt 在当前选定的刷子的基础上,用一个图案填充指定的设备场景 0 O2 q% y) E/ C
PlgBlt 复制一幅位图,同时将其转换成一个平行四边形。利用它可对位图进行旋转处理 - T" }9 A4 _4 y6 Q2 E5 n
SetBitmapBits 将来自缓冲区的二进制位复制到一幅位图   v- x% _! C: Y: Z% q5 h8 N
SetBitmapDimensionEx 设置一幅位图的宽度。以一毫米的十分之一为单位 
SetDIBColorTable 设置选入设备场景的一个DIBSection的颜色表信息 
SetDIBits 将来自与设备无关位图的二进制位复制到一幅与设备有关的位图里 1 s+ a( s8 H! b3 i( ?4 J
SetDIBitsToDevice 将一幅与设备无关位图的全部或部分数据直接复制到一个设备 
SetStretchBltMode 指定StretchBlt 和 StretchDIBits函数的伸缩模式 ) a3 g7 ~8 G4 G
StretchBlt 将一幅位图从一个设备场景复制到另一个 
StretchDIBits 将一幅与设备无关位图的全部或部分数据直接复制到指定的设备场景5 `& ?2 G' L+ A' `( c9 c# }7 N& A
8. API之绘图函数 % a" ~" h) [2 q; }
AbortPath 抛弃选入指定设备场景中的所有路径。也取消目前正在进行的任何路径的创建工作 
AngleArc 用一个连接弧画一条线 
Arc 画一个圆弧 
BeginPath 启动一个路径分支 # Y0 g3 ~" p. `# S& B# {
CancelDC 取消另一个线程里的长时间绘图操作 1 w* P' c) V$ q/ D
Chord 画一个弦 7 u; a$ T( m' E# f+ e0 j: v6 L8 c
CloseEnhMetaFile 关闭指定的增强型图元文件设备场景,并将新建的图元文件返回一个句柄 
CloseFigure 描绘到一个路径时,关闭当前打开的图形 
CloseMetaFile 关闭指定的图元文件设备场景,并向新建的图元文件返回一个句柄 ' `( T) `  p( A) ~
CopyEnhMetaFile 制作指定增强型图元文件的一个副本(拷贝) ! c! v5 B4 i" h% j. T$ s: H
CopyMetaFile 制作指定(标准)图元文件的一个副本 ' Y8 X3 W) `* `: p
CreateBrushIndirect 在一个LOGBRUSH数据结构的基础上创建一个刷子 ) V: W/ A3 S/ Q) r/ G/ h
CreateDIBPatternBrush 用一幅与设备无关的位图创建一个刷子,以便指定刷子样式(图案) 
CreateEnhMetaFile 创建一个增强型的图元文件设备场景 
CreateHatchBrush 创建带有阴影图案的一个刷子 
CreateMetaFile 创建一个图元文件设备场景 6 T. K& H  ^+ d: m
CreatePatternBrush 用指定了刷子图案的一幅位图创建一个刷子 3 x) u8 j6 g! n8 A
CreatePen 用指定的样式、宽度和颜色创建一个画笔 / j7 z# j2 B$ N$ q2 q, C
CreatePenIndirect 根据指定的LOGPEN结构创建一个画笔 7 c' _8 {/ Y) S9 d! ]+ |, Z
CreateSolidBrush 用纯色创建一个刷子 ! X) E  p: t) n
DeleteEnhMetaFile 删除指定的增强型图元文件 - V: r4 x; w! |% w/ q* S  z
DeleteMetaFile 删除指定的图元文件 0 q; v. e: n$ A6 h: L3 t6 P
DeleteObject 删除GDI对象,对象使用的所有系统资源都会被释放 
DrawEdge 用指定的样式描绘一个矩形的边框 3 H/ l5 Z. z. s& i5 u( N6 s( U( j
DrawEscape 换码(Escape)函数将数据直接发至显示设备驱动程序 
DrawFocusRect 画一个焦点矩形 
DrawFrameControl 描绘一个标准控件 4 c% a& g8 a/ l4 U( o& G
DrawState 为一幅图象或绘图操作应用各式各样的效果 6 h1 X6 Q+ q* P: g5 ^
Ellipse 描绘一个椭圆,由指定的矩形围绕 " Q% ^- G& D, ?3 q) [4 A1 \, s
EndPath 停止定义一个路径 ) E9 f4 I! a  G1 e0 u' k
EnumEnhMetaFile 针对一个增强型图元文件,列举其中单独的图元文件记录   M( s" i. H6 X5 `! `
EnumMetaFile 为一个标准的windows图元文件枚举单独的图元文件记录 
EnumObjects 枚举可随同指定设备场景使用的画笔和刷子 ( M$ R9 Q! ]6 a. Z+ X+ X
ExtCreatePen 创建一个扩展画笔(装饰或几何) $ z& W  X1 o& r. z% o3 d/ K
ExtFloodFill 在指定的设备场景里,用当前选择的刷子填充一个区域 ; p9 P: A- ^+ U2 K( m
FillPath 关闭路径中任何打开的图形,并用当前刷子填充 + e* o" e7 z6 Y
FillRect 用指定的刷子填充一个矩形 
FlattenPath 将一个路径中的所有曲线都转换成线段 3 e. c, ?3 d9 m+ o5 u
FloodFill 用当前选定的刷子在指定的设备场景中填充一个区域 ' q; p: D4 \5 `: Z9 m. ~9 W- T
FrameRect 用指定的刷子围绕一个矩形画一个边框 
GdiComment 为指定的增强型图元文件设备场景添加一条注释信息 
GdiFlush 执行任何未决的绘图操作 
GdiGetBatchLimit 判断有多少个GDI绘图命令位于队列中 & Y* s( X" ?3 J
GdiSetBatchLimit 指定有多少个GDI绘图命令能够进入队列 ! \" z* n8 X: z8 O
GetArcDirection 画圆弧的时候,判断当前采用的绘图方向 
GetBkColor 取得指定设备场景当前的背景颜色 
GetBkMode 针对指定的设备场景,取得当前的背景填充模式 7 V+ ~% w) a5 C8 @' Z8 k1 R
GetBrushOrgEx 判断指定设备场景中当前选定刷子起点 
GetCurrentObject 获得指定类型的当前选定对象 9 p8 Y9 M4 `3 M7 S
GetCurrentPositionEx 在指定的设备场景中取得当前的画笔位置 
GetEnhMetaFile 取得磁盘文件中包含的一个增强型图元文件的图元文件句柄 8 u* C' u3 ]1 b4 q1 L: k
GetEnhMetaFileBits 将指定的增强型图元文件复制到一个内存缓冲区里 
GetEnhMetaFileDescription 返回对一个增强型图元文件的说明 / ^/ ^1 c- X# _$ L/ ^
GetEnhMetaFileHeader 取得增强型图元文件的图元文件头 2 `/ l* n/ D" v+ J7 m* U  D, y6 G/ e
GetEnhMetaFilePaletteEntries 取得增强型图元文件的全部或部分调色板 # z' E3 O1 k9 {) B! T
GetMetaFile 取得包含在一个磁盘文件中的图元文件的图元文件句柄 
GetMetaFileBitsEx 将指定的图元文件复制到一个内存缓冲区 
GetMiterLimit 取得设备场景的斜率限制(Miter)设置 
GetNearestColor 根据设备的显示能力,取得与指定颜色最接近的一种纯色 / h# E  D& {, Y7 u- G: U( E4 d
GetObjectAPI 取得对指定对象进行说明的一个结构 : _" V# h! P' Z( C0 H
GetObjectType 判断由指定句柄引用的GDI对象的类型 
GetPath 取得对当前路径进行定义的一系列数据 
GetPixel 在指定的设备场景中取得一个像素的RGB值 
GetPolyFillMode 针对指定的设备场景,获得多边形填充模式 ; B" J5 w/ J3 V  }& i( d* Y
GetROP2 针对指定的设备场景,取得当前的绘图模式 ) z6 y8 H$ V; y5 E8 p  ?
GetStockObject 取得一个固有对象(Stock) - Q  O2 l" R( L5 \! K' H
GetSysColorBrush 为任何一种标准系统颜色取得一个刷子 
GetWinMetaFileBits 通过在一个缓冲区中填充用于标准图元文件的数据,将一个增强型图元文件转换成标准windows图元文件 
InvertRect 通过反转每个像素的值,从而反转一个设备场景中指定的矩形 " S6 R8 u3 O" E$ K; d% N" p* e* y
LineDDA 枚举指定线段中的所有点 
LineTo 用当前画笔画一条线,从当前位置连到一个指定的点 
MoveToEx 为指定的设备场景指定一个新的当前画笔位置 
PaintDesk 在指定的设备场景中描绘桌面墙纸图案 
PathToRegion 将当前选定的路径转换到一个区域里 8 h( B2 Y# @2 {3 I$ X. V
Pie 画一个饼图 
PlayEnhMetaFile 在指定的设备场景中画一个增强型图元文件 
PlayEnhMetaFileRecord 回放单独一条增强型图元文件记录 5 x% m) G1 K' P: k
PlayMetaFile 在指定的设备场景中回放一个图元文件 
PlayMetaFileRecord 回放来自图元文件的单条记录 : e  F( w6 `% r# j/ l* @' r
PolyBezier 描绘一条或多条贝塞尔(Bezier)曲线   `+ O5 S* g$ T  x9 S! g
PolyDraw 描绘一条复杂的曲线,由线段及贝塞尔曲线组成 
Polygon 描绘一个多边形 4 I  u/ q4 |* {" w& \) U# D
Polyline 用当前画笔描绘一系列线段 
PolyPolygon 用当前选定画笔描绘两个或多个多边形 4 F7 z- J7 O& Z4 c: c
PolyPolyline 用当前选定画笔描绘两个或多个多边形 
Rectangle 用当前选定的画笔描绘矩形,并用当前选定的刷子填充 
RoundRect 用当前选定的画笔画一个圆角矩形,并用当前选定的刷子在其中填充 
SelectClipPath 将设备场景当前的路径合并到剪切区域里 
SelectObject 为当前设备场景选择图形对象 
SetArcDirection 设置圆弧的描绘方向 
SetBkColor 为指定的设备场景设置背景颜色 4 t# D, A6 |. `9 b
SetBkMode 指定阴影刷子、虚线画笔以及字符中的空隙的填充方式 
SetBrushOrgEx 为指定的设备场景设置当前选定刷子的起点 / v3 l/ A  E7 b
SetEnhMetaFileBits 用指定内存缓冲区内包含的数据创建一个增强型图元文件   \) \. n3 O' W+ B
SetMetaFileBitsEx 用包含在指定内存缓冲区内的数据结构创建一个图元文件 
SetMiterLimit 设置设备场景当前的斜率限制 $ G% |7 e" [6 m
SetPixel 在指定的设备场景中设置一个像素的RGB值 4 k4 m/ H' q8 g# X
SetPixelV 在指定的设备场景中设置一个像素的RGB值 6 y, c# g  k8 _$ m  `" d+ Y
SetPolyFillMode 设置多边形的填充模式 
SetROP2 设置指定设备场景的绘图模式。与vb的DrawMode属性完全一致 
SetWinMetaFileBits 将一个标准Windows图元文件转换成增强型图元文件 ' R) F# o$ c$ g8 _6 q
StrokeAndFillPath 针对指定的设备场景,关闭路径上打开的所有区域 " ^5 S5 n) J/ ^$ [# u: Z, Y7 d$ L. T
StrokePath 用当前画笔描绘一个路径的轮廓。打开的图形不会被这个函数关闭 1 q) P& _) |0 i& H2 `9 P
UnrealizeObject 将一个刷子对象选入设备场景之前,如刷子的起点准备用SetBrushOrgEx修改,则必须先调用本函数 
WidenPath 根据选定画笔的宽度,重新定义当前选定的路径 
9. API之设备场景函数 
CombineRgn 将两个区域组合为一个新区域 
CombineTransform 驱动世界转换。它相当于依顺序进行两次转换 ) m+ V2 A; u5 V
CreateCompatibleDC 创建一个与特定设备场景一致的内存设备场景 
CreateDC 为专门设备创建设备场景 1 W; \3 X) K+ V* Q8 M3 h8 |1 v/ |$ ^
CreateEllipticRgn 创建一个椭圆 
CreateEllipticRgnIndirect 创建一个内切于特定矩形的椭圆区域 
CreateIC 为专用设备创建一个信息场景 
CreatePolygonRgn 创建一个由一系列点围成的区域 
CreatePolyPolygonRgn 创建由多个多边形构成的区域。每个多边形都应是封闭的 7 [* `! z8 m+ u" ?, X7 d* ~
CreateRectRgn 创建一个矩形区域 ; t; O9 A! h% C% u& x0 z; B
CreateRectRgnIndirect 创建一个矩形区域 
CreateRoundRectRgn 创建一个圆角矩形 . w8 t3 j+ H7 c' y* I
DeleteDC 删除专用设备场景或信息场景,释放所有相关窗口资源 : m- u9 h4 G! a( s# n
DPtoLP 将点阵从设备坐标转换到专用设备场景逻辑坐标 7 p1 C) Z$ i$ f+ m# X
EqualRgn 确定两个区域是否相等 7 S+ ?) c* w% i, P
ExcludeClipRect 从专用设备场景的剪裁区中去掉一个矩形区。矩形内不能进行绘图 
ExcludeUpdateRgn 从专用设备场景剪裁区去掉指定窗口的刷新区域 
ExtCreateRegion 根据世界转换修改区域 & |4 T  n+ I! I2 W
ExtSelectClipRgn 将指定区域组合到设备场景的当前剪裁区 
FillRgn 用指定刷子填充指定区域 # _" A: P5 t9 \3 I) N" r
FrameRgn 用指定刷子围绕指定区域画一个外框 
GetBoundsRect 获取指定设备场景的边界矩形 
GetClipBox 获取完全包含指定设备场景剪裁区的最小矩形 * G( T# ]) U; _/ G. j7 E& K
GetClipRgn 获取设备场景当前剪裁区 " ?# K0 F* H/ P/ L8 E" H/ t
GetDC 获取指定窗口的设备场景 ' d& V3 [/ t* ^1 C3 m. p0 u9 Y
GetDCEx 为指定窗口获取设备场景。相比GetDC,本函数提供了更多的选项 
GetDCOrgEx 获取指定设备场景起点位置(以屏幕坐标表示) . c# p, H$ y4 d0 ]2 L3 s+ z9 g' U
GetDeviceCaps 根据指定设备场景代表的设备的功能返回信息 
GetGraphicsMode 确定是否允许增强图形模式(世界转换) 
GetMapMode 为特定设备场景调入映象模式 / t; ~2 M, x' v1 t' F; q8 n
GetRegionData 装入描述一个区域信息的RgnData结构或缓冲区 3 E+ d& a! i! T$ ]
GetRgnBox 获取完全包含指定区域的最小矩形 
GetUpdateRgn 确定指定窗口的刷新区域。该区域当前无效,需要刷新 
GetViewportExtEx 获取设备场景视口(viewport)范围 ' z( V8 w2 l3 T5 i$ m1 e
GetViewportOrgEx 获取设备场景视口起点 
GetWindowDC 获取整个窗口(包括边框、滚动条、标题栏、菜单等)的设备场景 
GetWindowExtEx 获取指定设备场景的窗口范围 
GetWindowOrgEx 获取指定设备场景的逻辑窗口的起点 
GetWindowRgn 获取窗口区域 & \' r- B" Y3 M6 ?6 q" Q/ H
GetWorldTransform 如果有世界转换,为设备场景获取当前世界转换 
IntersectClipRect 为指定设备定义一个新的剪裁区 ) c7 b% [- A1 L7 I6 k
InvalidateRgn 使窗口指定区域不活动,并将它加入窗口刷新区,使之可随后被重画 + K& d$ x7 W* o
InvertRgn 通过颠倒每个像素值反转设备场景指定区域 4 x1 r4 P5 W  \
LPtoDP 将点阵从指定设备场景逻辑坐标转换为设备坐标   ~# ?' ]3 X5 O) W( t4 q
ModifyWorldTransform 根据指定的模式修改世界转换   Z& j2 |2 d1 k3 \
OffsetClipRgn 按指定量平移设备场景剪裁区 
OffsetRgn 按指定偏移量平移指定区域 0 ~; k5 J2 ^9 T- B( k; }
OffsetViewportOrgEx 平移设备场景视口区域 ' Z- T4 v8 \  S( |2 _
OffsetWindowOrgEx 平移指定设备场景窗口起点 3 _  I1 {# U& F9 c4 w
PaintRgn 用当前刷子背景色填充指定区域 
PtInRegion 确定点是否在指定区域内 0 ?3 y0 w5 N8 x  b- |( u1 Y4 O
PtVisible 确定指定点是否可见(即,点是否在设备场景剪裁区内) 0 G$ {- c- K) ]0 A
RectInRegion 确定矩形是否有部分在指定区域内 6 @4 l  G- ^3 T7 X
RectVisible 确定指定矩形是否有部分可见(是否在设备场景剪裁区内) 
ReleaseDC 释放由调用GetDC或GetWindowDC函数获取的指定设备场景 7 D! t% B& b) h2 y/ M
RestoreDC 从设备场景堆栈恢复一个原先保存的设备场景 0 o2 a7 t( E. A2 V4 P
SaveDC 将指定设备场景状态保存到Windows设备场景

原文地址:https://www.cnblogs.com/flysnail/p/2030741.html