Windows API函数大全四 p%3z*2,(
}4A] x`3
10. API之硬件与系统函数 zsg\|=P
ActivateKeyboardLayout 激活一个新的键盘布局。键盘布局定义了按键在一种物理性键盘上的位置与含义 @KQ.t F*
Beep 用于生成简单的声音 4 O!2nP
CharToOem 将一个字串从ANSI字符集转换到OEM字符集 Tnp
P '
ClipCursor 将指针限制到指定区域 G](4!G&
ConvertDefaultLocale 将一个特殊的地方标识符转换成真实的地方ID hO=L|BJ?I
CreateCaret 根据指定的信息创建一个插入符(光标),并将它选定为指定窗口的默认插入符 #J"xByQKK
DestroyCaret 清除(破坏)一个插入符 c1yRy|
EnumCalendarInfo 枚举在指定"地方"环境中可用的日历信息 I,{YxY[$7
EnumDateFormats 列举指定的"当地"设置中可用的长、短日期格式 @AEH?gOX
EnumSystemCodePages 枚举系统中已安装或支持的代码页 LjI`$r.B
EnumSystemLocales 枚举系统已经安装或提供支持的"地方"设置 X8$i*#D
EnumTimeFormats 枚举一个指定的地方适用的时间格式 `x[Is$
ExitWindowsEx 退出windows,并用特定的选项重新启动 6O7s^d&K
ExpandEnvironmentStrings 扩充环境字串 Wo1xZZ
FreeEnvironmentStrings 翻译指定的环境字串块 =SfNA
F
GetACP 判断目前正在生效的ANSI代码页 s<s}6|Z
GetAsyncKeyState 判断函数调用时指定虚拟键的状态 8=`L#FkRp
GetCaretBlinkTime 判断插入符光标的闪烁频率 ).SJ*Re*^I
GetCaretPos 判断插入符的当前位置 [IL*}M!
GetClipCursor 取得一个矩形,用于描述目前为鼠标指针规定的剪切区域 0[MYQl`
GetCommandLine 获得指向当前命令行缓冲区的一个指针 Jb QK$[z"
GetComputerName 取得这台计算机的名称 gM&IV{k3
GetCPInfo 取得与指定代码页有关的信息 ]M7FIDg
GetCurrencyFormat 针对指定的"地方"设置,根据货币格式格式化一个数字 $Nu{c;7"
GetCursor 获取目前选择的鼠标指针的句柄 F8f}PV]b
GetCursorPos 获取鼠标指针的当前位置 h'y%TOob
GetDateFormat 针对指定的"当地"格式,对一个系统日期进行格式化 X-c|jn7
GetDoubleClickTime 判断连续两次鼠标单击之间会被处理成双击事件的间隔时间 w4U,7%V
GetEnvironmentStrings 为包含了当前环境字串设置的一个内存块分配和返回一个句柄 X Q#K1Z
GetEnvironmentVariable 取得一个环境变量的值 0gd`W{YP
GetInputState 判断是否存在任何待决(等待处理)的鼠标或键盘事件 wFJf"@/vJ
GetKBCodePage 由GetOEMCP取代,两者功能完全相同 3p0v
GetKeyboardLayout 取得一个句柄,描述指定应用程序的键盘布局 >h\y1IrAaG
GetKeyboardLayoutList 获得系统适用的所有键盘布局的一个列表 $DL}jH^S
GetKeyboardLayoutName 取得当前活动键盘布局的名称 q[&Kr+)j
GetKeyboardState 取得键盘上每个虚拟键当前的状态 -s3`mc}*
GetKeyboardType 了解与正在使用的键盘有关的信息 qoO`)<
GetKeyNameText 在给出扫描码的前提下,判断键名 4&}%GH>}
GetKeyState 针对已处理过的按键,在最近一次输入信息时,判断指定虚拟键的状态 ytZ o0pad
GetLastError 针对之前调用的api函数,用这个函数取得扩展错误信息 kxMvOB$
GetLocaleInfo 取得与指定"地方"有关的信息 $w0TEO!
GetLocalTime 取得本地日期和时间 $DY#04Je\=
GetNumberFormat 针对指定的"地方",按特定的格式格式化一个数字 2J7|y\N,
GetOEMCP 判断在OEM和ANSI字符集间转换的windows代码页 U#jz5<r
GetQueueStatus 判断应用程序消息队列中待决(等待处理)的消息类型 @/z\p7e
GetSysColor 判断指定windows显示对象的颜色 0!hr9Y]Lx
GetSystemDefaultLangID 取得系统的默认语言ID H;/do-W[
GetSystemDefaultLCID 取得当前的默认系统"地方" Mog>W&U
GetSystemInfo 取得与底层硬件平台有关的信息 [,o:nry'a
GetSystemMetrics 返回与windows环境有关的信息 Er;/zxg9p
GetSystemPowerStatus 获得与当前系统电源状态有关的信息 l0qaTpn
GetSystemTime 取得当前系统时间,这个时间采用的是"协同世界时间"(即UTC,也叫做GMT)格式 1Bj.MQ^
GetSystemTimeAdjustment 使内部系统时钟与一个外部的时钟信号源同步 |oY{TQ<<d
GetThreadLocale 取得当前线程的地方ID $1yO Zp5
GetTickCount 用于获取自windows启动以来经历的时间长度(毫秒) lsz3'!%Y)
GetTimeFormat 针对当前指定的"地方",按特定的格式格式化一个系统时间 VOEV[?>ss
GetTimeZoneInformation 取得与系统时区设置有关的信息 4p:d#,?r
GetUserDefaultLangID 为当前用户取得默认语言ID Bs "D<r&ro
GetUserDefaultLCID 取得当前用户的默认"地方"设置 |N)Ik8
GetUserName 取得当前用户的名字 $*#a;w7\C
GetVersion 判断当前运行的Windows和DOS版本 %HUex
6!
GetVersionEx 取得与平台和操作系统有关的版本信息 aAg Qv*
HideCaret 在指定的窗口隐藏插入符(光标) m'rDoly"62
IsValidCodePage 判断一个代码页是否有效 p='j/=
IsValidLocale 判断地方标识符是否有效 $}9jv3>)
keybd_event 这个函数模拟了键盘行动 6'^_*n
LoadKeyboardLayout 载入一个键盘布局 9@ k8$@
MapVirtualKey 根据指定的映射类型,执行不同的扫描码和字符转换 &dyQ6i$],
MapVirtualKeyEx 根据指定的映射类型,执行不同的扫描码和字符转换 ,!#Am13
MessageBeep 播放一个系统声音。系统声音的分配方案是在控制面板里决定的 Gv-VDRS
mouse_event 模拟一次鼠标事件 Q:-T'xk@
OemKeyScan 判断OEM字符集中的一个ASCII字符的扫描码和Shift键状态 TnF~'RZYb
OemToChar 将OEM字符集的一个字串转换到ANSI字符集 )DgXsT
SetCaretBlinkTime 指定插入符(光标)的闪烁频率 1G>Ud6(3<
SetCaretPos 指定插入符的位置 %'Cj~An
SetComputerName 设置新的计算机名 {9@D zP
SetCursor 将指定的鼠标指针设为当前指针 &6eo;8
`U
SetCursorPos 设置指针的位置 2W,9HSu8
SetDoubleClickTime 设置连续两次鼠标单击之间能使系统认为是双击事件的间隔时间 vV,TT%J8D
SetEnvironmentVariable 将一个环境变量设为指定的值 y]db]pP5
SetKeyboardState 设置每个虚拟键当前在键盘上的状态 FZ"n6hWA
SetLocaleInfo 改变用户"地方"设置信息 }y(t')= 9
SetLocalTime 设置当前地方时间 L'+bVP{L
SetSysColors 设置指定窗口显示对象的颜色 ]
ZV[}7I.
SetSystemCursor 改变任何一个标准系统指针 [`n_> p!
SetSystemTime 设置当前系统时间 8 v/H;65
SetSystemTimeAdjustment 定时添加一个校准值使内部系统时钟与一个外部的时钟信号源同步 %U\,IO `g
SetThreadLocale 为当前线程设置地方 A@A8xn%
SetTimeZoneInformation 设置系统时区信息 3=O [Q :8
ShowCaret 在指定的窗口里显示插入符(光标) ;_<~9;
ShowCursor 控制鼠标指针的可视性 oD2:19M@p
SwapMouseButton 决定是否互换鼠标左右键的功能 _{[6hf4p
SystemParametersInfo 获取和设置数量众多的windows系统参数 6}"%>9
SystemTimeToTzSpecificLocalTime 将系统时间转换成地方时间 )+_Vx}O:}
ToAscii 根据当前的扫描码和键盘信息,将一个虚拟键转换成ASCII字符 qG9a!sj
ToUnicode 根据当前的扫描码和键盘信息,将一个虚拟键转换成Unicode字符 KF%BX~80C
UnloadKeyboardLayout 卸载指定的键盘布局 y;b#qUd5a
VkKeyScan 针对Windows字符集中一个ASCII字符,判断虚拟键码和Shift键的状态 m#_BF#
11. API之进程和线程函数 AyE*1 FD
CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作 .S
k+"iH5
CallNamedPipe 这个函数由一个希望通过管道通信的一个客户进程调用 %2QGbnt_*
ConnectNamedPipe 指示一台服务器等待下去,直至客户机同一个命名管道连接 p{Lrv%-j
CreateEvent 创建一个事件对象 )z[C=
CreateMailslot 创建一个邮路。返回的句柄由邮路服务器使用(收件人) ,^/Wv!uPE
CreateMutex 创建一个互斥体(MUTEX) ]Lv P)0=
CreateNamedPipe 创建一个命名管道。返回的句柄由管道的服务器端使用 S\GWMB!oF
CreatePipe 创建一个匿名管道 8E%LhA.
CreateProcess 创建一个新进程(比如执行一个程序) #(^<qr
CreateSemaphore 创建一个新的信号机 |AYii-g
CreateWaitableTimer 创建一个可等待的计时器对象 4 &bmt
DisconnectNamedPipe 断开一个客户与一个命名管道的连接 7:4c\C0
DuplicateHandle 在指出一个现有系统对象当前句柄的情况下,为那个对象创建一个新句柄 m$vq%[/#
ExitProcess 中止一个进程 x-%O1frc
FindCloseChangeNotification 关闭一个改动通知对象 MBWoPK
FindExecutable 查找与一个指定文件关联在一起的程序的文件名 LU6R"c11
FindFirstChangeNotification 创建一个文件通知对象。该对象用于监视文件系统发生的变化 "wcaJ;Os
FindNextChangeNotification 重设一个文件改变通知对象,令其继续监视下一次变化 +~8Lc'0aA
FreeLibrary 释放指定的动态链接库 8zK#./0\
GetCurrentProcess 获取当前进程的一个伪句柄 'uu*DgEr
GetCurrentProcessId 获取当前进程一个唯一的标识符 ]IuZ T
GetCurrentThread 获取当前线程的一个伪句柄 "~4V(
GetCurrentThreadId 获取当前线程一个唯一的线程标识符 `OW'AS |
GetExitCodeProces 获取一个已中断进程的退出代码 &^`Wtd~g
GetExitCodeThread 获取一个已中止线程的退出代码 \BHZRytQF
GetHandleInformation 获取与一个系统对象句柄有关的信息 E !kN h
GetMailslotInfo 获取与一个邮路有关的信息 '2^}de!E
GetModuleFileName 获取一个已装载模板的完整路径名称 01.q9AGy
GetModuleHandle 获取一个应用程序或动态链接库的模块句柄 GfONm6A
GetPriorityClass 获取特定进程的优先级别 L3eF BF/
GetProcessShutdownParameters 调查系统关闭时一个指定的进程相对于其它进程的关闭早迟情况 ,DFN:uf=l
GetProcessTimes 获取与一个进程的经过时间有关的信息 J!C \R5\
GetProcessWorkingSetSize 了解一个应用程序在运行过程中实际向它交付了多大容量的内存 @)pC3Vi^
GetSartupInfo 获取一个进程的启动信息 9qap#A
GetThreadPriority 获取特定线程的优先级别 fFJ7Y+^
GetTheardTimes 获取与一个线程的经过时间有关的信息 LUQ.=:mBR
GetWindowThreadProcessId 获取与指定窗口关联在一起的一个进程和线程标识符 od
`;XVG
LoadLibrary 载入指定的动态链接库,并将它映射到当前进程使用的地址空间 7KgaXi3r
LoadLibraryEx 装载指定的动态链接库,并为当前进程把它映射到地址空间 EQyX!
LoadModule 载入一个Windows应用程序,并在指定的环境中运行 nCYz];".
MsgWaitForMultipleObjects 等侯单个对象或一系列对象发出信号。如返回条件已经满足,则立即返回 =xk>yw!O)
SetPriorityClass 设置一个进程的优先级别 FGVw=G{r
SetProcessShutdownParameters 在系统关闭期间,为指定进程设置他相对于其它程序的关闭顺序 |4+'YgO
SetProcessWorkingSetSize 设置操作系统实际划分给进程使用的内存容量 Ag8/%a~(
SetThreadPriority 设定线程的优先级别 Xu-~j!
ShellExecute 查找与指定文件关联在一起的程序的文件名 [N,+mX
TerminateProcess 结束一个进程 7$*E0
WinExec 运行指定的程序 Tvv>9gS
12. API之控件与消息函数 r_+Vb*|Y
AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 =%U&$d|@G
AnyPopup 判断屏幕上是否存在任何弹出式窗口 )Jt. Z^J<
ArrangeIconicWindows 排列一个父窗口的最小化子窗口 mm>l:M TF
AttachThreadInput 连接线程输入函数 GCl
*x:
BeginDeferWindowPos 启动构建一系列新窗口位置的过程 Q>5f@aN
BringWindowToTop 将指定的窗口带至窗口列表顶部 AXbb-GK
CascadeWindows 以层叠方式排列窗口 h0F=5| B
ChildWindowFromPoint 返回父窗口中包含了指定点的第一个子窗口的句柄 {
j_-iF
ClientToScreen 判断窗口内以客户区坐标表示的一个点的屏幕坐标 ]xRR/S4
CloseWindow 最小化指定的窗口 i!YfR]"}
CopyRect 矩形内容复制 _hY6NMw
DeferWindowPos 该函数为特定的窗口指定一个新窗口位置 \GEz.Vb
DestroyWindow 清除指定的窗口以及它的所有子窗口 :!Ci#[g
DrawAnimatedRects 描绘一系列动态矩形 OU{c|O
EnableWindow 指定的窗口里允许或禁止所有鼠标及键盘输入 uH\EV`@'
EndDeferWindowPos 同时更新DeferWindowPos调用时指定的所有窗口的位置及状态 `+w= p7ET
EnumChildWindows 为指定的父窗口枚举子窗口 lWRl
EnumThreadWindows 枚举与指定任务相关的窗口 U$2Em0HO}
EnumWindows 枚举窗口列表中的所有父窗口 ^\PRzY
EqualRect 判断两个矩形结构是否相同 ?NA$<0
FindWindow 寻找窗口列表中第一个符合指定条件的顶级窗口 2TGND-(j
FindWindowEx 在窗口列表中寻找与指定条件相符的第一个子窗口 !Q\*a-C
FlashWindow 闪烁显示指定窗口 (BY 0b%^
GetActiveWindow 获得活动窗口的句柄 lJ3VMYVrUP
GetCapture 获得一个窗口的句柄,这个窗口位于当前输入线程,且拥有鼠标捕获(鼠标活动由它接收) @lB{!j&q
GetClassInfo 取得WNDCLASS结构(或WNDCLASSEX结构)的一个副本,结构中包含了与指定类有关的信息 A;8kC}
GetClassLong 取得窗口类的一个Long变量条目 '&|%^9O/"
GetClassName 为指定的窗口取得类名 cjLA7I.O
GetClassWord 为窗口类取得一个整数变量 A[Ce3m
GetClientRect 返回指定窗口客户区矩形的大小 ^}gZ+!kA
GetDesktopWindow 获得代表整个屏幕的一个窗口(桌面窗口)句柄 0|hOoO]?q&
GetFocus 获得拥有输入焦点的窗口的句柄 cy8r}wD
GetForegroundWindow 获得前台窗口的句柄 2nFr?Y3g,
GetLastActivePopup 获得在一个给定父窗口中最近激活过的弹出式窗口的句柄 e'v_eD T^
GetParent 判断指定窗口的父窗口 /lHs]) ,
GetTopWindow 搜索内部窗口列表,寻找隶属于指定窗口的头一个窗口的句柄 O#^qd0e'P!
GetUpdateRect 获得一个矩形,它描叙了指定窗口中需要更新的那一部分 sV%=z}n=
GetWindow 获得一个窗口的句柄,该窗口与某源窗口有特定的关系 frQ=BV5%6
GetWindowContextHelpId 取得与窗口关联在一起的帮助场景ID EN>a^B+!
GetWindowLong 从指定窗口的结构中取得信息 4dz Ym+vJm
GetWindowPlacement 获得指定窗口的状态及位置信息 0|\JbM
GetWindowRect 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 M.$=tuUL
GetWindowText 取得一个窗体的标题(caption)文字,或者一个控件的内容 ] RVme^=
GetWindowTextLength 调查窗口标题文字或控件内容的长短 |c$*Fa"A
GetWindowWord 获得指定窗口结构的信息 L'a s^Od
InflateRect 增大或减小一个矩形的大小 za.^vwkBk2
IntersectRect 这个函数在lpDestRect里载入一个矩形,它是lpSrc1Rect与lpSrc2Rect两个矩形的交集 +,ld;NM{
InvalidateRect 屏蔽一个窗口客户区的全部或部分区域 527u d^:
IsChild 判断一个窗口是否为另一窗口的子或隶属窗口 %
5!Y#$:{o
IsIconic 判断窗口是否已最小化 : T4ap_Ycq
IsRectEmpty 判断一个矩形是否为空 -|czhO)R
IsWindow 判断一个窗口句柄是否有效 F9IPA%
IsWindowEnabled 判断窗口是否处于活动状态 $reQdN=~
IsWindowUnicode 判断一个窗口是否为Unicode窗口。这意味着窗口为所有基于文本的消息都接收Unicode文字 a5]]AkvA
IsWindowVisible 判断窗口是否可见 !$-QWKD4
IsZoomed 判断窗口是否最大化
poZ&S
LockWindowUpdate 锁定指定窗口,禁止它更新 pL.~z
MapWindowPoints 将一个窗口客户区坐标的点转换到另一窗口的客户区坐标系统 v`jFWq8I,
MoveWindow 改变指定窗口的位置和大小 2Y}A9Veb
OffsetRect 通过应用一个指定的偏移,从而让矩形移动起来 <Lle1=qQ
OpenIcon 恢复一个最小化的程序,并将其激活 !?B2OE
PtInRect 判断指定的点是否位于矩形内部 \3t)7.:4
RedrawWindow 重画全部或部分窗口 Vx n-
ReleaseCapture 为当前的应用程序释放鼠标捕获 T !pHT'J
ScreenToClient 判断屏幕上一个指定点的客户区坐标 ~c=*Y=)LG
ScrollWindow 滚动窗口客户区的全部或一部分 0NSCeq%;6q
ScrollWindowEx 根据附加的选项,滚动窗口客户区的全部或部分 taSYR$VJ
SetActiveWindow 激活指定的窗口 @^Kw\s
SetCapture 将鼠标捕获设置到指定的窗口 y= 1(o3(
SetClassLong 为窗口类设置一个Long变量条目 wD<W'K
SetClassWord 为窗口类设置一个条目 cl'qw##
SetFocusAPI 将输入焦点设到指定的窗口。如有必要,会激活窗口 jdD`C`w|,
SetForegroundWindow 将窗口设为系统的前台窗口 `7
J4h9K
SetParent 指定一个窗口的新父 <
$rXQ
SetRect 设置指定矩形的内容 Wc/B_F?2
SetRectEmpty 将矩形设为一个空矩形 Dd,]Y}P
SetWindowContextHelpId 为指定的窗口设置帮助场景(上下文)ID [4}U*\/>C
SetWindowLong 在窗口结构中为指定的窗口设置信息 *_uGzGB&G
SetWindowPlacement 设置窗口状态和位置信息 )|U+<r<
SetWindowPos 为窗口指定一个新位置和状态 XCO;t_%
SetWindowText 设置窗口的标题文字或控件的内容 ]!N|3"Ls
SetWindowWord 在窗口结构中为指定的窗口设置信息 74~%4
ShowOwnedPopups 显示或隐藏由指定窗口所有的全部弹出式窗口 _4t
ShowWindow 控制窗口的可见性 Z@#kivcpz
ShowWindowAsync 与ShowWindow相似 {,o 0N\(
SubtractRect 装载矩形lprcDst,它是在矩形lprcSrc1中减去lprcSrc2得到的结果 RM`iOV,Y
TileWindows 以平铺顺序排列窗口 OxVe}Fym
UnionRect 装载一个lpDestRect目标矩形,它是lpSrc1Rect和lpSrc2Rect联合起来的结果 (M t-2+"+
UpdateWindow 强制立即更新窗口 f@xjNm*'Z
ValidateRect 校验窗口的全部或部分客户区 &m@DK>
WindowFromPoint 返回包含了指定点的窗口的句柄。忽略屏蔽、隐藏以及透明窗口