[转]user32.dll 函数说明小结
user32.dll 函数说明小结
这篇文章主要介绍了user32.dll 函数说明,需要的朋友可以参考下函数名称 说明
ActiveKeyboardLayout 激活一个不同的键盘布局,该布局必须先由
LoadKeyBoardLayout函数装载
AdjustWindowRect 根据希望的用户矩形大小来计算所需矩形窗
口的大小,然后将该窗口矩形给
CreateWindow函数,以创建所需的窗口
AdjustWindowRectEx 根据希望的客户矩形大小来计算具有扩展式
样的窗口所需的矩形窗口大小,然后将该窗
口矩形传给CreateWindow函数,以创建所需
的窗口
AnyPopup 确定屏幕上是否存在未被拥有的、可见的、
顶层弹出式或重叠式窗口
AppendMenu 在给定菜单的尾不增加新项
ArrangeIconicWindows 在给定父窗口中安排最小化的子窗口
AttachThreadInput 将只线程的输入状态附加到其它线程上
BeginDeferWindowPos 创建多窗口位置的数据结构,并为该结构返
回一个句柄
BeginPaint 为绘图准备一个窗口
BringWindowToTop 将给定窗口放到屏幕Z序顶部
BroadcastSystemMessage 发送一条消息给指定的接受器,这个接受器
可被用于可安装驱动器、基于WINDOWS的网
络驱动器、系统级设备驱动器或任何这些部
件的组合
CallMsgFilter 将指定的消息和钩子代码传送给应用程序定
义的回调函数,以便应用程序能够在对话框
、消息框、菜单和滚动条进行内部处理或按
ALT+TAB键激活另一窗口时,检查和控制消
息流
CallNextHookEx 将给定的钩子信息传递给当前钩子链的下一
个钩子过程
CallWindowProc 将给定的消息传递给指定的窗口过程
CascadeWindows 级联指定父窗口的指定窗口或子窗口
ChangeClipBoardChain 从剪贴板查看程序链中去掉一个窗口
ChangeDisplaySettings 改变指定图形模式的显示环境
CharLower 将一个字符或字符串转换成小写
CharLowerBuff 将字符串缓冲区内指定数目的字符转换成小
写
CharNext 返回指向字符串中某字符的下一个字符的指
针
CharNextExA 检取字符串中下个字符的指针
CharPrev 返回字符串中某个字符的前一个字符的指针
CharPrevExA 检取字符串中某个字符的前一个字符的指针
CharToOem 将指定字符串转换到OEM定义的字符集中
CharToOemBuff 将字符串缓冲区中指定数目的字符转换成
OEM定义的字符集中
CharUpper 将一个字符后字符串转换成大写
CharUpperBuff 将字符缓冲区中指定数目的字符转换成大写
CheckDlgButton 通过对话框按扭改变一个选择标记
CheckMenuItem 通过菜单项改变一个选择标记
CheckMenuRadioItem 核对指定菜单项并作标记,同时去掉该组中
其它菜单项的标记
CheckRadioButton 向组中给定圆按扭增加一个选择标志,并去
掉该组中其它圆按扭的选择标志
ChildWindowFromPoint 确定包含给定点的子窗口
ChildWindowFromPointEx 确定包含给定点的子窗口
ClintToScreen 将给定的用户坐标转换成屏幕坐标
ClipCursor 将光标限定在屏幕上给定的矩形区域内
CloseClipBoard 关闭剪贴板,以允许其它窗口访问该剪贴板
CloseDesktop 关闭指定桌面对象的句柄
CloseWindow 最小化指定的窗口
CloseWindowStation 关闭一个打开的窗口站句柄
CopyAcceleratorTable 拷贝指定的加速键表
CopyIcon 拷贝一个图标
CopyImage 建立一个图象并拷贝指定图象的属性给它
CopyRect 拷贝一个矩形坐标
CountClipboardFormats 返回剪贴板当前不同数据格式的数目
CreateAcceleratorTable 创建一个加速键表
CreateCart 为系统插入符创建一个新形状,并且为给定
窗口分配这个插入符的所有权
CreateCursor 用指定大小、位模式、热点创建一个光标
CreateDesktop 在和调用过程相关的窗口站上创建一个新桌
面
CreateDialogIndirectParam 从内存对话框模板中创建一个无模式对话框
CreateDialotParam 从对话框模板资源中创建一个无模式对话框
CreateIcon 用指定大小、颜色和位模式创建一个图标
CreateIconFromResource 从描述图标的资源位中创建一个图标或光标
CreateIconFromResourceEx 从描述图标的资源位中创建一个图标或光标
CreateIconIndirect 根据ICONINFO数据结构创建一个图标或光标
CreateMDIWindow 创建一个多文档界面窗口
CreateMenu 创建一个菜单,然后用AppendMenu函数填充
菜单项
CreatePopupMenu 创建一个弹出式窗口,然后用AppendMenu函
数填充菜单项
CreateWindowEx 用指定方式创建一个窗口
CreateWindowstation 创建一个窗口站对象。一个窗口站是包含全
局原子、剪贴板和桌面对象集的安全对象
DdeAbandonTransaction 放弃指定的异步事务处理,并释放与该事务
处理相关的所有资源
DdeAccessData 提供对DDE对象中的数据的访问,当应用程
序完成访问时,必须调用DdeUnaccessData
函数
DdeAddData 把数据增加到给定的DDE对象中
DdeClientTransaction 在客户和服务器应用程序之间开始一个DDE
数据处理
DdeCmpStringHandles 比较两个DDE字符串句柄的值,不区分大小写
DdeConnect 建立与支持所指定服务器应用程序服务名和
主题名之间的会话,若服务器有多个,只选
其一
DdeConnectList 建立与支持所指定的服务名和主题名相对应
的所有服务器应用程序之间的会话
DdeCreateDataHandle 建立一个DDE对象,并用指定的数据填充对
象
DdeCreateStringHandle 建立一个DDE字符串句柄DDE客户或服务器应
用程序可把此句柄传递给其它DDE管理库函数
DdeDisconnect 结束一个DDE会话
DdeDisconnectList 撤消一个DDE会话列表并终止与该表有关的
所有会话
DdeEnableCallback 允许或禁止指定的DDE会话
DdeFreeDataHandle 释放一个DDE对象,并删除与该对象有关的
数据句柄
DdeFreeStringHandle 释放用DdeCreateStringHandle函数创建的
字符串句柄
DdeGetData 从给定的DDE对象中拷贝数据到指定的缓冲区
DdeGetLastError 返回调用DDE管理库函数失败后设置的最新错
误值
DdeImpersonateClient 模拟DDE会话中的DDE客户应用程序
DdeInitialize 利用DDE管理库函数注册应用程序
DdeKeepStringHandle 为给定的句柄增加用途数
DdeNameService 注册或去掉服务器所支持的服务者
DdePosAdvise 唤起一个服务以便系统把XTYP_ADVREQ事务
处理发送给客户
DdeQueryConvInfo 检取有关DDE事务处理以及发生事务处理的
会话的信息
DdeQueryNextServer 获得DDE会话列表中的下一个句柄
DdeQueryString 将与字符串句柄有关的文本拷贝到指定的缓
冲区中
DdeReconnect 重建一个DDE会话
DdeSetqualityOfService 指定DDE会话所期望的服务质量
DdeSetUserHandle 把应用程序定义值与会话句柄或事务处理标
识符联系起来
DdeUnaccessData 放弃访问一个DDE对象
DdeUninitilize 释放与调用应用程序有关的全部DDE管理库
资源
DefDlgPorc 定义会话框类窗口过程的缺省消息处理
DeferwindowPos 修改给定的多窗口位置数据结构并返回修改
后的结构句柄
DefFrameProc 定义多文档框架窗口的缺省消息处理
DefMDIChildProc 定义多文档子窗口的缺省消息处理
DefWindowProc 调用缺省的窗口过程对应用程序未处理的任
何窗口消息提供缺省处理
DeleteMenu 从菜单中删除一个菜单项
DestroyAcceleratorTable 销毁一个加速键表
DestroyCaret 销毁插入符的当前形状
DestroyCursor 销毁由CreateCursor创建的光标
DestroyIcon 销毁由CreateIcon创建的图标
DestroyMenu 销毁指定的菜单
DestroyWindow 销毁指定的窗口
DialogBoxIndirectParam 从内存对话框模块中创建指定模式的对话框
DialogBoxParam 从对话框模板资源中创建一个模式对话框
DispatchMessage 传送一个消息给指定的窗口过程
DlgDirList 用匹配的路径或文件名填充指定的列表框
DlgDirListComboBox 用目录列表填充指定的组合框
DlgDirSelectComboBoxEx 用选择的列表填充指定的组合框
DlgDirSelectEx 从目录列表获取当前的选择
DragDetect 捕获鼠标并追踪它的移动,直到释放鼠标左
键
DrawAnimatedRects 画一线框并激活它,以表明图标或最小/最
大化窗口的打开
DrawCaption 画出给定窗口的标题
DrawEdge 画一个或多个矩形边界
DrawFocusRect 用给定的焦点样式画一矩形
DrawFrameControl 以指定类型和风格画一个框架控件
DrawIcon 在给定设备描述表的窗口中画一个图标
DrawIconEx 在给定设备描述表窗口的用户区画一个图标
或光标,执行指定的光栅操作、并伸展或压
缩图标或光标
DrawMenuBar 重新画一个给定窗口的菜单栏
DrawState 显示一个图形并运行形象效果,以表明一种
状态
DrawText 在指定的矩形中画格式化文本
DrawTextEx 在指定的矩形中画格式文本
EmpytClipboard 清空剪贴板并释放剪贴板中数据句柄
EnableMenuItem 允许、禁止或变灰一个菜单
EnableScrollBar 允许或禁止流动的一个或两个箭头
EnableWindow 设置窗口的允许状态或控制接收鼠标或键盘
输入
EndDeferWindowPos 修改一个或多个窗口的位置和大小
EndDialog 销毁指定模式的对话框,并使系统终止对此
对话框的任何处理
EndPaint 结束在指定窗口中的绘画
EnumChildWindows 枚举一个父窗口中的所有子窗口
EnumClipboardFromats 枚举当前剪贴板中可用的数据格式
EnumDesktops 枚举指定调用进程窗口站里的全部桌面
EnumDesktopWindows 枚举一个桌面里的所有窗口
EnumDisplaySettings 获取有关显示设备某一图形模式的信息。通
过反复调用该函数也可获取显示设备的所有
模式的信息
EnumProps 枚举指定窗口的特征列表中的所有项
EnumPropsEx 枚举指定窗口特征列表中的所有项
EnumThreadWindows 枚举所有与指定线程有关的窗口
EnumWindows 枚举屏幕上所有顶层窗口
EnumWindowStations 枚举系统里所有的窗口站
EqualRect 确定两个矩形是否相等
ExcludeUpdateRgn 从剪贴板域内除去指定窗口内被更新的区域
ExitWindowsEx 重新启动或终止WINDOWS系统
FillRect 用指定画刷填充一个矩形
FindWindow 从类名或窗口名中返回一个相匹配的顶层窗
口的句柄
FindWindowEx 检取和指定类名或窗口名相匹配的窗口的句
柄
FlashWindow 使给定的窗口闪烁一次
FrameRect 用指定刷子围绕指定矩形画一个边框
FreeDDELParam 释放有一条被传递过来的DDE消息所指定的
内存
GetActiveWindow 检取与调用此函数的线程有关的活动窗口句
柄
GetAsyncKeyState 确定指定的键是处于UP还是DOWN状态
GetCapture 检取已捕获鼠标的窗口句柄
GetCaretBlinkTime 返回闪烁插入符象素所需的时间
GetCartePos 返回当前插入符的位置
GetClassInfo 检取指定窗口类的信息
GetClassInfoEx 检取指定窗口类的信息,包括和窗口类有关
的最小图标的句柄
GetClassLong 检取指定窗口类的地址偏移量(32位)
GetClassName 检取指定窗口类的名称
GetClassWord 检取指定窗口类的地址偏移量(16位)
GetClientRect 返回用户区域的坐标
GetClipboardData 用指定格式从剪贴板中检取数据
GetClipboardFromatName 返回已注册的剪贴板格式名称
GetClipboardOwner 返回剪贴板当前拥有者的窗口句柄
GetClipboardViewer 返回剪贴板查看程序链中第一个窗口的句柄
GetClipCursor 返回限制光标的矩形区域的屏幕坐标
GetCursor 返回当前光标句柄
GetCursorPos 返回当前的光标位置
GetDC 返回指定窗口显示设备描述表的句柄
GetDCEx 返回指定窗口显示设备描述表的句柄
GetDesktopWindow 返回桌面窗口的句柄
GetDialogBaseUnits 返回创建对话框所用的基本单元
GetDlgCtrlID 返回指定控件的标识符
GetDlgItem 检取对话框中指定控件的句柄
GetDlgItemInt 将对话框中某控件的文本转换成整数值
GetDlgItamText 检取对话框中与某控件相关的标题或文本
GetDoubleClickTime 返回鼠标当前的双击时间
GetFocus 返回当前键盘焦点窗口的句柄
GetForegroundWindow 返回用户当前工作用的窗口句柄
GetIconInfo 检取给定图标或光标的信息
GetInputstate 确定当前线程的消息队列中是否有鼠标或键
盘的消息
GetKBCodePage 提供早期WINDOWS版本的兼容性
GetKeyboardLayout 为一个指定线程检取活动键盘布局
GetKeyboardLayoutList 检取系统中当前输入地点集的所有活动键盘
布局的句柄
GetKeyboardLayoutName 检取活动键盘布局的名称
GetKeyboardState 返回所有虚键的当前状态
GetKeyboardType 检取当前键盘的类型
GetKeyNameText 检取表示某键名称的字符串
GetKeyState 返回指定虚键是UP还是DOWN状态
GetLastActivePopup 确定哪个弹出窗口是最近活动的
GetMenu 返回指定窗口的菜单句柄
GetMenuCheck 返回缺省记号位图的尺寸
GetMenuContextHelpId 返回和指定菜单相关的帮助描述表的标识符
GetMenudefaultItem 确定指定菜单的缺省菜单项
GetMenuItemCount 返回给定菜单栏或弹出式菜单中的菜单项数
GetMenuItemID 返回指定菜单项的标识符
GetMenuItemInfo 返回有关菜单项的信息
GetmenuItemRect 返回指定菜单项的边界矩形
GetMenustate 返回与指定菜单项有关的菜单标志
GetMenustring 将指定菜单项的文本串拷贝到给定的缓冲区
中
GetMessage 从指定线程的消息队列中检取一条消息
GetMessageExtraInfo 检取与一条消息有关的硬件消息
GetMessagePos 返回最后一条消息发生时光标所在的位置
GetMessageTime 返回从系统自动到最后一条消息创建所经历
的时间
GetNextDlgGroupItem 返回对话框中位于给定控件之间或之后的控
件句柄
GetNextDlgTabItem 返回具有WS_TABSTOP风格的位于给定控件之
间或之后的控件的句柄
GetNextQueueWindow 按Z序返回位于给定窗口上一个或下一个窗
口
GetOpenClipboardWindow 返回当前打开剪贴板的窗口句柄
GetParent 返回给定子窗口的父窗口
GetPriorityClipboardFormat 返回指定表中第一可用的剪贴板格式
GetProcessWindowStation 返回与调用进程有关的窗口站的句柄
GetProp 从给定的窗口属性表中返回一数据句柄
GetQueuestatus 确定调用线程消息的类型
GetScrollInfo 返回滚动条的参数,包括最小/最大滚动位
置,页大小及拇指框的位置
GetScrollPos 返回当前滚动条的拇指框的位置
GetScrollRanges 返回给定滚动条当前最小和最大滚动框的位
置
GetSubMenu 返回由指定菜单项激活的弹出式菜单句柄
GetsysColor 返回指定显示单元的当前颜色
GetsysColorBrush 检取相应于指定颜色索引的逻辑刷的句柄标
识符
GetSystemMenu 允许应用程序访问SYSTEM菜单进行拷贝和修
改
GetSystemMetrics 检取系统度量各种显示单元的宽度和高度
GetTabbedTextExtent 确定包含制表符的字符串的宽度和高度
GetThreadDesktop 返回与指定线程有关的桌面句柄
GetTopWindow 返回指定窗口顶层子窗口的句柄
GetUpdateRect 返回指定窗口包围更新区域矩形的宽和高
GetUpdateRgn 返回指定窗口包围更新区域
GetUserObjectInfomation 返回有关窗口站或桌面对象的信息
GetWindow 返回指定窗口的句柄
GetWindowContextHelpId 返回指定窗口的帮助描述表标识符
GetWindowDC 返回指定窗口是的设备描述表
GetWindowLong 返回指定窗口的附加窗口内存的地址(32位)
GetWindowPlacement 返回指定窗口的显示状态,以及被恢复、被
最大化和最小化的位置
GetWindowRect 检取指定窗口限制矩形的尺寸
GetWindowRgn 获得指定窗口矩形区域的一个拷贝
GetWindowText 把指定窗口的标题栏文本拷贝到指定缓冲区
中
GetWindowTextLength 返回指定窗口的标题栏文本的长度
GetWindowThreadProcessId 检取创建指定窗口的线程的标识符
GetWindowWord 返回指定窗口的附加窗口内存的地址(16位)
GrayString 在指定位置绘制灰色文本
HideCaret 从屏幕上删除插入符
HiliteMenuItem 改变顶层菜单的增亮菜单项
ImpersonateDdeCliebtWindow 使指定的DDE服务器应用程序能够模拟一个
DDE客户应用程序的安全性描述表,以便安
全的保护服务器数据不被未授权的DDE客户
使用
InflateRect 改变指定矩形的宽度和长度
InSendMessage 确定指定窗口过程是否正在处理
SendMessage函数送来的消息
InsertMenu 在指定的窗口中插入新的菜单栏
InsertMenuItem 在指定的菜单栏或弹出式窗口中插入新才菜
单项
InterserRect 计算两个矩形的交集,得到新的目标矩形
InvalidateRect 将给定矩形添加到指定窗口的更新区域
InvalidateRgn 将给定区域添加到指定窗口的更新区域
InvertRect 转换窗口内指定的矩形区域
IsCharAlpha 确定指定字符是否为字母
IsCharAlphaNumeric 确定指定字符是字母还是数字
IsCharLower 确定指定字符是否为小写
IsCharUpper 确定指定字符是否为大写
IsChild 确定指定窗口是否为给定父窗口的子窗口
IsClipBoardFormatAvaliable 确定剪贴板是否包含有给定格式的有用数据
IsDialogMessage 确定一条消息是为给定对话框所期望的
IsDlgButtonChecked 确定按扭控制的状态
IsIconic 确定指定窗口是否极小化
IsMenu 确定一个句柄是否为菜单句柄
IsRectEmpty 确定一个矩形是否为空
IsWindow 确定指定窗口句柄是不是一个已有的窗口
IsWindowEnabled 确定指定窗口能否接受鼠标或键盘输入
IsWindowUnicode 确定给定窗口是不是一个本地的Unicode窗
口
IsWindowVisible 确定窗口的可见性
IsZoomed 确定指定窗口是否为极大化
keybd_event 合成一个击键事件,以用于以后由系统生成
一条WM_KEYUP或WM_KEYDOWN消息
KillTimer 撤消指定的计时器
LoadAccelerators 装入指定的加速键表
LoadBitmap 装入指定的位图资源
LoadCursor 装入指定的光标资源
LoadCursorFromFile 根据指定文件中数据创建一个光标
LoadIcon 装入指定的图标资源
LoadImage 装入一个图标、光标或位图
LoadKeyboardLayout 装入指定的键盘布局
LoadMenu 装入指定的菜单资源
LoadMenuIndirect 将指定的菜单模板装入内存
LoadString 装入指定的字符串资源
LockWindowUpdate 禁止或重新允许在指定的窗口上画图
LookupIconIdFromDirectory 查找最适合当前显示设备的图标或光标数据
LookupIconIdFromDirectoryEx 查找最适合当前显示设备的图标或光标数据
MapDialogRect 将指定对话框单元转换为屏幕象素
MapVirtualKey 将一个虚键码翻译成扫描码或字符值或反之
MapVirtualKeyEx 将一个虚键码翻译成扫描码或字符值或反之
MapWindowPoints 将指定窗口的一组点转换到另一窗口坐标空
间中
MenuItemFromPoint 选择指定点所在的菜单项
MessageBeep 放出波形声音
MessageBox 创建、显示并操作一个消息框
MessageBoxEx 创建、显示并操作一个消息框,并可用参数
指定预定义按扭采用的语言资源集合
MessageBoxIndirect 创建、显示并操作消息框
ModifyMenu 修改一个已存在的菜单项,包括内容,外观
和特性
mouse_event 合成鼠标移动和按扭菜单事件
MoveWindow 改变指定窗口的位置和宽、高
MsgWaitForMultipleObjects 判断指定等待的条件是否满足,不满足则调
用的线程进入有效等待状态
OemKeyScan 把OEM的ASCII码转换成OEM扫描码
OemToChar 把指定OEM字符串转换成ANSI字符串
OemToCharBuff 把OEM字符缓冲区中指定数目的字符转换成
ANSI字符
OffsetRect 把指定矩形移动给定的偏移量
OpenClipboard 打开剪贴板以供检查,并阻止其它应用程序
修改其内容
OpenDesktop 返回一个存在桌面的句柄
OpenIcon 激活一个最小化窗口图标
OpenInputDesktop 返回接收用户输入的桌面的句柄
OpenWindowStation 返回一个存在窗口站的句柄
PackDDElParam 将DDE的参数值lParam封装到用来存放过程
之间共享的DDE数据的内部结构中
PaintDesktop 在指定的带桌面调色板和壁纸的设备描述表
里填充裁剪区域
PeekMessage 检查应用程序的消息队列
PostMessage 在指定的窗口消息队列中放置一条消息
PostQuitMessage 通知WINDOWS有一个线程已发出终止请求
PostThreadMessage 在指定线程的消息队列中放置一条消息
PtInRect 确定指定的点是否在给定的矩形内
RedrawWindow 更新窗口客户区中给定的矩形或区域
RegisterClass 为以后调用CreatWindow函数注册一个窗口
类
RegisterClassEx 为以后调用CreatWindow函数注册一个窗口
类
RegisterClipboardFormat 注册一个新的剪贴板数据格式
RegisterHotKey 在当前线程定义一个热键
RegisterWindowMessage 定义一个新的窗口消息,该消息在整个系统
范围内是唯一的
ReleaseCapture 释放当前线程窗口的鼠标捕获
ReleaseDC 释放指定的设备描述表
RemoveMenu 删除指定的菜单项或弹出式菜单
RemoveProp 从指定窗口特征表中删除一个入口
ReplyMessage 响应由SendMessage函数发送的消息,但不
把控制权还给调用SendMessage函数的线程
ReuseDDElParam 允许一个应用程序重新使用一个被封装的
DDE的lParam参数
ScreenToClient 把一个屏幕指定的坐标点转换成客户坐标
ScrollDC 水平或垂直滚动一个由位组成的矩形
ScrollWindow 滚动指定窗口中的客户区内容
ScrollWindowEx 滚动指定窗口中的客户区内容
SendDlgItemMessage 把指定的消息发送给指定的对话框控件
SendMessage 把一消息发送给指定的多个窗口
SendMessageCallback 向给定的一个或多个窗口发送指定的消息,
并将结果传送给回调函数
SendMessageTimeout 向给定的一个或多个窗口发送指定的消息,
且在窗口过程处理完这条消息或指定限时过
后才返回
SendNotifyMessage 向给定窗口发送指定的消息,且不等待窗口
过程对消息的处理
SetActiveWindow 激活与调用该函数的线程相关的顶层窗口
SetCapture 向当前线程窗口设置鼠标捕获标记
SetCaretBlinkTime 设置插入符闪烁的速率
SetCaretPos 设置插入符的位置
SetClassLong 设置附加类内存的地址(32位)
SetClassWord 设置附加类内存的地址(16位)
SetClipboardData 用指定格式在剪贴板中放置数据
SetClipboardViewer 把指定窗口添加到剪贴板查看程序链中
SetCursor 设置光标的形状
SetCursorPos 把光标移到指定的屏幕坐标处
SetDebugErrorLevel 设置最低的错误层次,在该层次上,系统将
产生调试事件并传递给调试程序
SetDlgItemInt 把对话框中给定控件的文本串设置为给定整
数的字符串
SetDlgItemText 设置对话框中指定控件的标题或项目文本
SetDoubleClickTime 设置鼠标的双击时间
SetFocus 为指定的窗口设置键盘输入焦点
SetForegroundWindow 把创建给定窗口的线程放到前台并激活该窗
口
SetKeyboardState 设置调用线程的键盘输入状态表
SetLastErrorEx 为调用线程设置最后一次的错误码错误类型
SetMenu 把一个新菜单赋予指定的窗口
SetMenuContextHelpId 使一个菜单与帮助描述表标识符相关联,该
菜单的所有项共享这个标识符
SetMenuDefaultItem 使指定的位图与一个菜单项相关联
SetMenuItemBitmaps 把指定的位图与一个菜单项联系起来
SetMenuItemInfo 改变指定菜单项的信息
SetMessageExtraInfo 为当前线程设置附加消息信息
SetMessageQueue 创建一个新的消息队列
SetParent 改变指定子窗口的父窗口
SetProcessWindowStation 分配一个窗口站给调用进程,以便该进程能
够访问窗口站里的对象,如桌面、剪贴板和
全局原子等
SetProp 在指定的特征表中添加或改变一个入口
SetRect 设置指定矩形的宽和高
SetRectEmpty 创建一个空矩形
SetScrollInfo 设置滚动条的参数,包括最大/最小位置,
页尺寸和拇指框位置
SetScrollPos 设置滚动条中滚动框的位置
SetScrollRange 设置滚动条最大或最小位置值
SetSysColors 为一个或多个元素设置系统颜色
SetSystemCursor 定制系统光标
SetThreadAffinityMask 设置指定线程所需的处理器数
SetThreadDesktop 分配一个桌面给调用线程
SetTimer 用指定的限时值创建一个定时器
SetUserObjectInformation 设置有关窗口站或桌面对象的信息
SetUserObjectSecurity 设置用户对象的安全特性
SetWindowContextHelpId 使一个帮助描述表标识符和一个指定窗口相
关
SetWindowLong 修改给定窗口的一个属性,并在附加窗口内
存的指定偏移处设置新值(32位)
SetWindowPlacement 设置窗口的显示状态及复原、最大化和最小
化位置
SetWindowPos 设置窗口大小,位置及在屏幕上的Z次序
SetWindowRgn 设置窗口的窗口区域
SetWindowsHook 把应用程序定义的钩子函数装入到钩子链中
SetWindowsHookEx 把应用程序定义的钩子函数装入到钩子链中
SetWindowText 设置给定窗口的标题栏或控件的文字
SetWindowWord 在附加窗口内存的指定偏移处设置新值(16
位)
ShowCaret 显示插入符
ShowCursor 显示或隐藏鼠标光标
ShowOwnedPopups 显示或隐藏给定窗口所拥有的全部弹出式窗
口
ShowScrollBar 显示或隐藏滚动条
ShowWindow 设置窗口的可见性状态
ShowWindowAsync 设置由不同线程创建的窗口显示状态
SubtractRect 获取一个矩形减去另一矩形所得到的矩形的
坐标
SwapMouseButton 交换或恢复鼠标左、右按扭的含义
SwitchDesktop 使一桌面可见并激活它,以便该桌面接受用
户输入
SystemParametersInfo 查询或设置系统范围参数
TabbedTextOut 在一个指定位置用当前选择的字体写一个字
符
TileWindows 贴瓦式排列指定窗口或其子窗口
ToAscii 把指定的虚键码和键盘状态翻译成相应的
WINDOWS字符
ToAsciiEx 把指定的虚键码和键盘状态翻译成相应的
WINDOWS字符
ToUnicode 把指定的虚键码和键盘状态翻译成相应的
Unicode字符
TrackPopupMenu 显示并跟踪弹出式菜单项的选择
TrackPopupMenuEx 在指定位置显示弹出式菜单,并跟踪弹出式
菜单项的选择
TranslateAccelerator 处理菜单命令加速键
TranslateMDISysAccel 处理多文档加速键
TranslateMessage 把虚键消息翻译为字符消息
UnhookWindowsHook 从钩子链中删除一个钩子函数
UnhookWindowsHookEx 从钩子链中删除一个钩子函数
UnionRect 创建两个矩形的联合
UnloadKeyboardLayout 删除一个键盘布局
UnpackDDElParam 拆开从一条一公布的DDE消息中接收到的
DDElParam值
UnregisterClass 删除一个窗口类,释放该类申请的内存
UnRegisterHotKey 释放调用线程原先登记的一个热键
UpdateWindow 修正指定窗口中的客户区
ValidateRect 从修改区删除一个矩形
ValidateRgn 从修改区删除一个区域
VkKeyScan 把当前键盘的一个字符翻译为虚键码和转换
状态
VkKeyScanEx 把当前键盘的一个字符翻译为虚键码和转换
状态
WaitForInputIdle 等待新的用户输入或一直到限时已过
WaitMessage 当线程的消息队列中没有其它消息时,挂起
该线程并交出控制权,直到该线程有新的消
息到来时才返回
WindowFromDC 返回与指定显示设备描述表相联系的窗口句
柄
WindowFromPoint 返回包含有指定点的窗口句柄
WinHelp 启动WINDOWS帮助文件Winhelp.exe
wsprintf 在一个缓冲区中格式化并存储一串字符和值
wvsprintf 在一个缓冲区中格式化并存储一串字符和值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace WindowsAPI { class CSharp_Win32Api { #region User32.dll 函数 /// <summary> /// 该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以在GDI函数中使用该句柄来在设备上下文环境中绘图。hWnd:设备上下文环境被检索的窗口的句柄 /// </summary> [DllImport( "user32.dll" , CharSet = CharSet.Auto)] public static extern IntPtr GetDC(IntPtr hWnd); /// <summary> /// 函数释放设备上下文环境(DC)供其他应用程序使用。 /// </summary> public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC); /// <summary> /// 该函数返回桌面窗口的句柄。桌面窗口覆盖整个屏幕。 /// </summary> static public extern IntPtr GetDesktopWindow(); /// <summary> /// 该函数设置指定窗口的显示状态。 /// </summary> static public extern bool ShowWindow(IntPtr hWnd, short State); /// <summary> /// 通过发送重绘消息 WM_PAINT 给目标窗体来更新目标窗体客户区的无效区域。 /// </summary> static public extern bool UpdateWindow(IntPtr hWnd); /// <summary> /// 该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视的记号。系统给创建前台窗口的线程分配的权限稍高于其他线程。 /// </summary> static public extern bool SetForegroundWindow(IntPtr hWnd); /// <summary> /// 该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。 /// </summary> static public extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int x, int y, int Width, int Height, uint flags); /// <summary> /// 打开剪切板 /// </summary> static public extern bool OpenClipboard(IntPtr hWndNewOwner); /// <summary> /// 关闭剪切板 /// </summary> static public extern bool CloseClipboard(); /// <summary> /// 打开清空</summary> static public extern bool EmptyClipboard(); /// <summary> /// 将存放有数据的内存块放入剪切板的资源管理中 /// </summary> static public extern IntPtr SetClipboardData( uint Format, IntPtr hData); /// <summary> /// 在一个矩形中装载指定菜单条目的屏幕坐标信息 /// </summary> static public extern bool GetMenuItemRect(IntPtr hWnd, IntPtr hMenu, uint Item, ref RECT rc); [DllImport( "user32.dll" , ExactSpelling = true , CharSet = CharSet.Auto)] /// <summary> /// 该函数获得一个指定子窗口的父窗口句柄。 /// </summary> public static extern IntPtr GetParent(IntPtr hWnd); /// <summary> /// 该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。 /// </summary> /// <param name="hWnd">其窗口程序将接收消息的窗口的句柄</param> /// <param name="msg">指定被发送的消息</param> /// <param name="wParam">指定附加的消息指定信息</param> /// <param name="lParam">指定附加的消息指定信息</param> /// <returns></returns> public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam); public static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, IntPtr lParam); public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref RECT lParam); public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, ref POINT lParam); public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref TBBUTTON lParam); public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref TBBUTTONINFO lParam); public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, ref REBARBANDINFO lParam); public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref TVITEM lParam); public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref LVITEM lParam); public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref HDITEM lParam); public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref HD_HITTESTINFO hti); /// <summary> /// 该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里 /// </summary> public static extern IntPtr PostMessage(IntPtr hWnd, int msg, int wParam, int lParam); public static extern IntPtr SetWindowsHookEx( int hookid, HookProc pfnhook, IntPtr hinst, int threadid); [DllImport( "user32.dll" , CharSet = CharSet.Auto, ExactSpelling = true )] public static extern bool UnhookWindowsHookEx(IntPtr hhook); [DllImport( "user32.dll" , CharSet = CharSet.Auto, ExactSpelling = true )] public static extern IntPtr CallNextHookEx(IntPtr hhook, int code, IntPtr wparam, IntPtr lparam); /// <summary> /// 该函数对指定的窗口设置键盘焦点。 /// </summary> public static extern IntPtr SetFocus(IntPtr hWnd); /// <summary> /// 该函数在指定的矩形里写入格式化文本,根据指定的方法对文本格式化(扩展的制表符,字符对齐、折行等)。 /// </summary> public extern static int DrawText(IntPtr hdc, string lpString, int nCount, ref RECT lpRect, int uFormat); /// <summary> /// 该函数改变指定子窗口的父窗口。 /// </summary> public extern static IntPtr SetParent(IntPtr hChild, IntPtr hParent); /// <summary> /// 获取对话框中子窗口控件的句柄 /// </summary> public extern static IntPtr GetDlgItem(IntPtr hDlg, int nControlID); /// <summary> /// 该函数获取窗口客户区的坐标。 /// </summary> public extern static int GetClientRect(IntPtr hWnd, ref RECT rc); /// <summary> /// 该函数向指定的窗体添加一个矩形,然后窗口客户区域的这一部分将被重新绘制。 /// </summary> public extern static int InvalidateRect(IntPtr hWnd, IntPtr rect, int bErase); /// <summary> /// 该函数产生对其他线程的控制,如果一个线程没有其他消息在其消息队列里。 /// </summary> public static extern bool WaitMessage(); /// <summary> /// 该函数为一个消息检查线程消息队列,并将该消息(如果存在)放于指定的结构。 /// </summary> public static extern bool PeekMessage( ref MSG msg, int hWnd, uint wFilterMin, uint wFilterMax, uint wFlag); /// <summary> /// 该函数从调用线程的消息队列里取得一个消息并将其放于指定的结构。此函数可取得与指定窗口联系的消息和由PostThreadMesssge寄送的线程消息。此函数接收一定范围的消息值。 /// </summary> public static extern bool GetMessage( ref MSG msg, int hWnd, uint wFilterMin, uint wFilterMax); /// <summary> /// 该函数将虚拟键消息转换为字符消息。 /// </summary> public static extern bool TranslateMessage( ref MSG msg); /// <summary> /// 该函数调度一个消息给窗口程序。 /// </summary> public static extern bool DispatchMessage( ref MSG msg); /// <summary> /// 该函数从一个与应用事例相关的可执行文件(EXE文件)中载入指定的光标资源. /// </summary> public static extern IntPtr LoadCursor(IntPtr hInstance, uint cursor); /// <summary> /// 该函数确定光标的形状。 /// </summary> public static extern IntPtr SetCursor(IntPtr hCursor); /// <summary> /// 确定当前焦点位于哪个控件上。 /// </summary> public static extern IntPtr GetFocus(); /// <summary> /// 该函数从当前线程中的窗口释放鼠标捕获,并恢复通常的鼠标输入处理。捕获鼠标的窗口接收所有的鼠标输入(无论光标的位置在哪里),除非点击鼠标键时,光标热点在另一个线程的窗口中。 /// </summary> public static extern bool ReleaseCapture(); /// <summary> /// 准备指定的窗口来重绘并将绘画相关的信息放到一个PAINTSTRUCT结构中。 /// </summary> public static extern IntPtr BeginPaint(IntPtr hWnd, ref PAINTSTRUCT ps); /// <summary> /// 标记指定窗口的绘画过程结束,每次调用BeginPaint函数之后被请求 /// </summary> public static extern bool EndPaint(IntPtr hWnd, ref PAINTSTRUCT ps); /// <summary> /// 半透明窗体 /// </summary> public static extern bool UpdateLayeredWindow(IntPtr hwnd, IntPtr hdcDst, ref POINT pptDst, ref SIZE psize, IntPtr hdcSrc, ref POINT pprSrc, Int32 crKey, ref BLENDFUNCTION pblend, Int32 dwFlags); /// <summary> /// 该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。 /// </summary> public static extern bool GetWindowRect(IntPtr hWnd, ref RECT rect); /// <summary> /// 该函数将指定点的用户坐标转换成屏幕坐标。 /// </summary> public static extern bool ClientToScreen(IntPtr hWnd, ref POINT pt); /// <summary> /// 当在指定时间内鼠标指针离开或盘旋在一个窗口上时,此函数寄送消息。 /// </summary> public static extern bool TrackMouseEvent( ref TRACKMOUSEEVENTS tme); /// <summary> /// /// </summary> public static extern bool SetWindowRgn(IntPtr hWnd, IntPtr hRgn, bool redraw); /// <summary> /// 该函数检取指定虚拟键的状态。 /// </summary> public static extern ushort GetKeyState( int virtKey); /// <summary> /// 该函数改变指定窗口的位置和尺寸。对于顶层窗口,位置和尺寸是相对于屏幕的左上角的:对于子窗口,位置和尺寸是相对于父窗口客户区的左上角坐标的。 /// </summary> public static extern bool MoveWindow(IntPtr hWnd, int x, int y, int width, int height, bool repaint); /// <summary> /// 该函数获得指定窗口所属的类的类名。 /// </summary> public static extern int GetClassName(IntPtr hWnd, out STRINGBUFFER ClassName, int nMaxCount); /// <summary> /// 该函数改变指定窗口的属性 /// </summary> public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); /// <summary> /// 该函数检索指定窗口客户区域或整个屏幕的显示设备上下文环境的句柄,在随后的GDI函数中可以使用该句柄在设备上下文环境中绘图。 /// </summary> public static extern IntPtr GetDCEx(IntPtr hWnd, IntPtr hRegion, uint flags); /// <summary> /// 获取整个窗口(包括边框、滚动条、标题栏、菜单等)的设备场景 返回值 Long。 /// </summary> public static extern IntPtr GetWindowDC(IntPtr hWnd); /// <summary> /// 该函数用指定的画刷填充矩形,此函数包括矩形的左上边界,但不包括矩形的右下边界。 /// </summary> public static extern int FillRect(IntPtr hDC, ref RECT rect, IntPtr hBrush); /// <summary> /// 该函数返回指定窗口的显示状态以及被恢复的、最大化的和最小化的窗口位置。 /// </summary> public static extern int GetWindowPlacement(IntPtr hWnd, ref WINDOWPLACEMENT wp); /// <summary> /// 该函数改变指定窗口的标题栏的文本内容 /// </summary> public static extern int SetWindowText(IntPtr hWnd, string text); /// <summary> /// 该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控制,则拷贝控制的文本。 /// </summary> public static extern int GetWindowText(IntPtr hWnd, out STRINGBUFFER text, int maxCount); /// <summary> /// 用于得到被定义的系统数据或者系统配置信息. /// </summary> static public extern int GetSystemMetrics( int nIndex); /// <summary> /// 该函数设置滚动条参数,包括滚动位置的最大值和最小值,页面大小,滚动按钮的位置。 /// </summary> static public extern int SetScrollInfo(IntPtr hwnd, int bar, ref SCROLLINFO si, int fRedraw); /// <summary> /// 该函数显示或隐藏所指定的滚动条。 /// </summary> public static extern int ShowScrollBar(IntPtr hWnd, int bar, int show); /// <summary> /// 该函数可以激活一个或两个滚动条箭头或是使其失效。 /// </summary> public static extern int EnableScrollBar(IntPtr hWnd, uint flags, uint arrows); /// <summary> /// 该函数将指定的窗口设置到Z序的顶部。 /// </summary> public static extern int BringWindowToTop(IntPtr hWnd); /// <summary> /// 该函数滚动指定窗体客户区域的目录。 /// </summary> static public extern int ScrollWindowEx(IntPtr hWnd, int dx, int dy, ref RECT rcScroll, ref RECT rcClip, IntPtr UpdateRegion, ref RECT rcInvalidated, uint flags); /// <summary> /// 该函数确定给定的窗口句柄是否识别一个已存在的窗口。 /// </summary> public static extern int IsWindow(IntPtr hWnd); /// <summary> /// 该函数将256个虚拟键的状态拷贝到指定的缓冲区中。 /// </summary> public static extern int GetKeyboardState( byte [] pbKeyState); /// <summary> /// 该函数将指定的虚拟键码和键盘状态翻译为相应的字符或字符串。该函数使用由给定的键盘布局句柄标识的物理键盘布局和输入语言来翻译代码。 /// </summary> public static extern int ToAscii( int uVirtKey, int uScanCode, byte [] lpbKeyState, byte [] lpwTransKey, int fuState); #endregion } } |