ID编号 函数名 函数说明 详细说明 Win16支持 Win9x支持 WinNT支持
1 AbortDoc 终止一项打印作业 Yes Yes Yes
2 AbortPath 终止或取消DC中的一切路径 No Yes Yes
3 AbortPrinter 删除打印机缓冲文件 No Yes Yes
4 AbortSystemShutdowna 停止系统工作 No Yes Yes
5 AccessCheck 检验客户访问权限 No Yes Yes
6 AccessCheckAndAuditAlarm 检验访问,产生声音或警报 No Yes Yes
7 ActivateKeyboardLayout 激活一个新的键盘设备 " 函数功能:激活键盘布局。该函数Windows NT和Windows 95中的实现有很大不同。本参考页中首先给出了完整的Windows NT的实现,下来又给出了Windows 95版本的实现,以便大家更好地了解二者的区别。在Windows NT中ActivateKeyboadLayout函数激活一种不同的键盘布局,同时在整个系统中而不仅仅是调用该函数的进程中将该键盘布局设为活动的。
函数原型:HKL ActivateKeyboardLayout( HKL hkl,UINT Flags);
参数:
hkl:将被激活的键盘布局的句柄。该布局必须先调用LeadKeyboadLayout函数装入,该参数必须是键盘分局的句柄,或是如下的值中的一种:
HKL_NEXT:在系统保持的,己装入的布局的循环链表中,选择下一布局。
HKL_PREV:在系统保持的,已装入的布局的循环链表中,选择前一布局。
Flags:定义键盘布局如何被激活。该参数可取如下的一些值:
LFREORDER:若该位被设置,则已装入的键盘布局的循环链路表将被重新排序。若该位没有设置,则循环链路表的顺序不变。例如,若用户激活了英语键盘布局,同时依序装入了法语、德语、西班牙语键盘布局,然后通过设置KLF_REORDE位激活德语键盘布局,则会产生如下顺序:德语、英语、法语、西牙语键盘布局。若激活德语键盘布局时未设置KLF_REORDER位,则产生如下的键盘布局的键盘布局序列:德语、西班牙语、英语、法语。若装入的键盘布局少于三种,则该标志域的值不起作用。
KLF_SETFORPROCESS:在Windows NT 5.0以上版本中使用。该参数用于整个进程中激活指定的键盘布,并向当前进程的所有线程发送WM_INPUTLANGCHANGE消息。
KLF_UNLOADPREVLOUS:卸载先前活动的键盘布局。
返回值:如果函数调用成功,返回值为前一键盘布局的句柄。否则,返回值为零。若要获得更多多错误信息,可调用GetLastError函数。
备注:在任一时刻可以装入多种键盘布局,但一次仅能激活一种布局。装入多种键盘布局使得可以快速地在多种布局之间切换。Windows 95 ACtivateKeyboadLayout函数为当前线程设置输入语言。该函数接受一个键盘布局句柄,该句柄标识键盘的一个局部的和物理布局。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
" No Yes Yes
8 AddAccessAllowedAce 将ACCESS_ALLOWED_ACE加入ACL No Yes Yes
9 AddAccessDeniedAce 将ACCESS_DENIED_ACE加入ACL No Yes Yes
10 AddAce 将ACE加入一个已存在的ACL No Yes Yes
11 AddAtom 将一个字符串加入本地原子表 Yes Yes Yes
12 AddAuditAccessAce 将SYSTEM_AUDIT_ACE加入ACL No Yes Yes
13 AddFontResource 将一种字体加入字体表 Yes Yes Yes
14 AddForm 加入一个打印机窗体 No Yes Yes
15 AddJob 启动一个打印作业 No Yes Yes
16 AddMonitor 加入一个打印机管理器 No Yes Yes
17 AddPort 加入一个打印机端口 No Yes Yes
18 AddPrintProcessor 将打印处理器复制到打印机服务器中 No Yes Yes
19 AddPrintProvidor 加入一个打印机支持器 No Yes Yes
20 AddPrinter 在打印机服务器上建立一个打印机 No Yes Yes
21 AddPrinterConnection 为当前用户建立与打印机的联系 No Yes Yes
22 AddPrinterDriver 将打印机驱动程序复制到打印机服务器中 No Yes Yes
23 AdjustTokenGroups 使能/取消令牌中的群 No Yes Yes
24 AdjustTokenPrivileges 使能/取消令牌特权 No Yes Yes
25 AdjustWindowRect 计算所需窗口矩形的大小 Yes Yes Yes
26 AdjustWindowRectEx 计算所需窗口矩形的大小 " 函数功能:该函数依据所需客户矩形大小,计算需要的窗口矩形的大小。计算出的窗口矩形随后可以传送给CreateWindowEx函数,用于创建一个客户区所需大小的窗口。
函数原型:BOOL AdjustWindowRectEX(LPRECT lpRect,DWORD dwStyte;BOOL bMenu;DWORD dwExStyle);
参数:
lpRect:指向RECT结构的指针,该结构包含所需客户区域的左上角和右下角的坐标。函数返回时,该结构包含容纳所需客户区域的窗口的左上角和右下角的坐标。
dwStyle:指定将被计算尺寸的窗口的窗口风格。
bMenu:指示窗口是否有菜单。
dwExStyle:指定将被计算尺寸的窗口的扩展窗口风格。
返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。
备注:客户矩形是指完全包含一个客户区域的最小矩形;窗口矩形是指完全包含一个窗口的最小矩形,该窗口包含客户区与非客户区。
当一个菜单条下拉出两行或更多行时,AdjustWindowRect函数不增加额外的空间。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
27 AdvancedDocumentProperties 进行打印机高级设置 No Yes Yes
28 AllocConsole 为当前进程建立控制台 No Yes Yes
29 AllocateAndInitializeSid 分配和初始化SID No Yes Yes
30 AllocateLocallyUniqueId 分配LUID No Yes Yes
31 AngleArc 按指定角度画弧 No Yes Yes
32 AnimatePalette 替换逻辑调色板中的项目 Yes Yes Yes
33 AnyPopup 标识弹出式窗口是否存在 " 函数功能:该函数指出一个被属窗口,可见窗口,顶级弹出窗口,或层叠窗日是否在屏幕上存在。这个函数搜索整个屏幕,而不仅仅搜索应用程序的客户区。
函数原型:BOOL AnyPopup(VOID)
参数:无。
返回值:如果一个弹出式窗口存在,返回值为非零,即使该窗口被其他窗口完全覆盖。如果弹出式窗口不存在,返回值为零。
备注:函数不检测无所属关系的弹出式窗口,或无WS_VISIBLE设置位的窗口。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持;头文件:winuser.h;库文件:USer32.lib。
" Yes Yes Yes
34 AppendMenu 在菜单中加入新的项目 " 函数功能:该函数在指定的菜单条、下拉式菜单、子菜单或快捷菜单的末尾追加一个新菜单项。此函数可指定菜单项的内容、外观和性能。函数AppendMenu己被lnsertMenultem取代。但如果不需要lnsertMenultem的扩展特性,仍可使用AppendMenu。
函数原型:BOOL AppendMenu(hMenu hMenu,UINT uFlags,UINT uIDNewltem,LPCTSTR lpNewltem);
参数:
hMenu:将被修改的菜单条、下拉式菜单、子菜单、或快捷菜单的句柄。
UFlags:控制新菜单项的外观和性能的标志。此参数可以是备注里所列值的组合。
UIDNewltem:指定新菜单项的标识符,或者当uFlags设置为MF_POPUP时,表示下拉式菜单或子菜单的句柄。
LpNewltem:指定新菜单项的内容。此参数的含义取决于参数uFlags是否包含MF_BITMAP, MF_OWNERDRAW或MF_STRING标志,如下所示:
MF_BITMAP:含有位图句柄。MF_STRING:以`/O’结束的字符串的指针。
MF_OWNERDRAW:含有被应用程序应用的32位值,可以保留与菜单项有关的附加数据。当菜单被创建或其外观被修改时,此值在消息WM_MEASURE或WM_DRAWITEM的参数IParam指向的结构,成员itemData里。
返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。
备注:一旦菜单被修改,无论它是否在显示窗口里,应用程序必须调用函数DrawMenuBar。
为了使键盘加速键能控制位留或自己绘制的菜单项,菜单的拥有者必须处理WM_MENUCHAR消息。
参见自绘制菜单和WM_MENUCHAR消息。
下列标志可被设置在参数uFlags里:
MF_BITMAP:将一个位图用作菜单项。参数lpNewltem里含有该位图的句柄。
MF_CHECKED:在菜单项旁边放置一个选取标记。如果应用程序提供一个选取标记,位图(参见SetMenultemBitmaps),则将选取标记位图放置在菜单项旁边。
MF_DISABLED:使菜单项无效,使该项不能被选择,但不使菜单项变灰。
MF_ENABLED:使菜单项有效,使该项能被选择,并使其从变灰的状态恢复。
MF_GRAYED:使菜单项无效并变灰,使其不能被选择。
MF_MENUBARBREAK:对菜单条的功能同MF_MENUBREAK标志。对下拉式菜单、子菜单或快捷菜单,新列和旧列被垂直线分开。
MF_MENUBREAK:将菜单项放置于新行(对菜单条),或新列(对下拉式菜单、子菜单或快捷菜单)且无分割列。
MF_OWNERDRAW:指定该菜单项为自绘制菜单项。菜单第一次显示前,拥有菜单的窗口接收一个WM_MEASUREITEM消息来得到菜单项的宽和高。然后,只要菜单项被修改,都将发送WM_DRAWITEM消息给菜单拥有者的窗口程序。
MF_POPUP:指定菜单打开一个下拉式菜单或子菜单。参数uIDNewltem下拉式菜单或子菜单的句柄。此标志用来给菜单条、打开一个下拉式菜单或于菜单的菜单项、子菜单或快捷菜单加一个名字。
MF_SEPARATOR:画一条水平区分线。此标志只被下拉式菜单、于菜单或快捷菜单使用。此区分线不能被变灰、无效或加亮。参数IpNewltem和uIDNewltem无用。
MF_STRING:指定菜单项是一个正文字符串;参数lpNewltem指向该字符串。
MF_UNCHECKED:不放置选取标记在菜单项旁边(缺省)。如果应用程序提供一个选取标记位图(参见SetMenultemBitmaps),则将选取标记位图放置在菜单项旁边。
下列标志组不能被一起使用:
MF_DISABLED,MF_ENABLED和MF_GRAYED;MF_BITMAP,MF_STRING和MF_OWNERDRAW
MF_MENUBARBREAK和MF_MENUBREAK;MF_CHECKED和MF_UNCHECKED
Windows CE环境下,不支持参数fuFlags使用下列标志:
MF_BITMAP;MF_DOSABLE;MF_GRAYED
MF_GRAYED可用来代替MF_DISABLED和MFS_GRAYED。
Windows CE 1.0不支持层叠式菜单。在使用Windows CE 1.0时,不能将一个MF_POPUP菜单插入到另一个下拉式菜单中。Window CE 1.0不支持下列标志:
MF_POPUP;MF_MENUBREAK;MF_MENUBARBREAK
Windows CE 2.0或更高版本中,支持上述标志,也支持层叠式菜单。
" Yes Yes Yes
35 Arc 画弧 Yes Yes Yes
36 ArcTo 画椭圆弧 No Yes Yes
37 AreAllAccessesGranted 检查所有要求的访问 No Yes Yes
38 AreAnyAccessesGranted 检查任何要求的访问 No Yes Yes
39 ArrangeIconicWindows 排列最小化的子窗口 " 函数功能:该函数安排指定父窗口的各个最小化(图标化)子窗口。
函数原型:UNIT ArrangeIconicWindows(HWND hWnd):
参数:
hWnd:父窗口句柄。
返回值:如果函数成功,返回值为一行图标的高度。如果函数失败,返回值为零。若想获得更多错误信息,请调用 callGetLastError函数。
备注:一个应用程序可以通过使用ArrangeIconicWindows安排在一个父窗口卫的它自身的最小化的子窗口。这个函数也可以安排桌面图标。使用GetDesttopWindow函数获得桌面窗口的句柄。
一个应用程序给多文本接口(MDI)客户窗口发送WM_MDIICONARRANGE消息,使客户窗口来安排自身的最小化MDI子窗口。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
40 AttachThreadInput 将线索彼此相连 No Yes Yes
41 auxGetDevCaps 获取附属设备容量 No Yes Yes
42 auxGetNumDevs 返回附属设备数量 No Yes Yes
43 auxGetVolume 获取当前卷设置 No Yes Yes
44 auxOutMessage 向输出设备发送消息 No Yes Yes
45 auxSetVolume 设置附属设备卷 No Yes Yes
46 BackupEventLog 将事件记录保存至后备文件 No Yes Yes
47 BackupRead 产生磁带备份读 No Yes Yes
48 BackupSeek 产生磁带备份查寻 No Yes Yes
49 BackupWrite 产生磁带备份写 No Yes Yes
50 Beep 产生一个声调 No Yes Yes
51 BeginDeferWindowPos 创建一个窗口位置结构 " 函数功能:该函数为一个多窗口位置结构分配内存并且返回该结构的句柄。
函数原型:HDWP BeginDeferWindowPos(int nNumWindows);
参数:
nNumWindows:指示存储位置信息的初始窗口数目。如有必要,DeferWindowPos函数可以增加该结构的大小。
返回值:如果函数成功,返回多窗口位置结构。如果分配内存时内存不足,则返回值为NULL。若想获得更多的错误信息,请调用GetLastError函数。
备注:多窗口位置结构是一个内部结构,应用程序不能直接引用。
DeferWindowPos函数在多窗口位置结构中填充了将被移动的一个或多个窗口的目标位置信息。EndDeferWindowPos接收该结构的句柄,并且依据存储在该结构中的信息重定位这些窗口。
如果在多窗口位置结构中的任意一个窗口中设置了SWP_HIDEWINDOW和SWP_SHOWWINDOW标志,则所有窗口都不能被重定位。
如果系统必须增加在多窗口位置结构中由nNumWindows设置的初始窗口数目,但又没有足够的内存分配,则系统的整个窗口重定位顺序失败(BeginDeferWindowsPos,DeferWindowsPos,EndDeferWindowPos)。应用程序通过指定所需最大数目,可以在执行过程中进行早期的检测和处理。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持:头文件:winuser.h;库文件:user32.lib。
" No Yes Yes
52 BeginPaint 准备一个画图窗 Yes Yes Yes
53 BeginPath 开始一个路径等级 Yes Yes Yes
54 BeginUpdateResource 在可执行文件中开始资源文件更新 " 函数功能:该函数返回一个可被UpdateResource函数使用的句柄以便在一个可执行文件中增加、删除或替换资源。
函数原型:HANDLE BeginUpdateResource(LPCTSTR pFileName,BOOL bDeleteExistingResources);
参数:
pFileName:指向一个表示结束的空字符串指针,它是用来指定用以更新资源的基于32-位可执行文件的文件名。应用程序必须获得访问这个文件的可写权限,并且此文件在当前状态下不能被执行。如果pFileName未被指定完全路径,系统将在当前路径下搜寻此文件。
bDeleteExistingResources:说明是否删除PFileName参数指定的现有资源。如果这个参数为TRUE则现有的资源将被删除,而更新可执行文件只包括由UpdateResource函数增加的资源。如果这个参数为FALSE,则更新的可执行文件包括现有的全部资源,除非通过UpdateResource特别说明被删除或是替换的。
返回值:如果此函数运行成功,其值将通过使用UpdateResource和EndUpdateResource函数返回一个句柄。如果被指定的文件不是一个可执行文件,或者可执行文件已被装载,或者文件不存在,或是文件不能被打开写入时,则返回值为空。若想获得更多的错误信息,请调用GetLastError函数。
速查:Windows 3.1以上。头文件:winbase.h:库文件:kernel32.lib,Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" No Yes Yes
55 BitBlt 在设备描述表间复制位图 Yes Yes Yes
56 BringWindowToTop 将指定的窗口设置到Z序的顶部 " 函数功能:该函数将指定的窗口设置到Z序的顶部。如果窗口为顶层窗口,则该窗口被激活;如果窗口为了窗口,则相应的顶级父窗口被激活。
函数原型:B00L BringWindowToTop(HWND,hWnd);
参数:
hWnd: 设置到Z序的顶部的窗口句柄。
返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。
备注:使用BringWindowToTop函数显示出被其他窗口部分或全部遮盖的窗口。
调用这个函数类似于调用SetWindowPos函数来改变窗口在Z序中的位置,但是BringWindowToTop函数并不能使一个窗口成为顶层窗口。
如果应用程序不在前台中而想设置在前台中,可以调用SetForegroundWindow函数。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lid。
" Yes Yes Yes
57 BroadcastSystemMessage 发送消息给指定的接受者 " 函数功能:该函数发送消息给指定的接受者。接受者可以是一个应用程序、安装驱动器、网络驱动器、系统级设备驱动器或这些系统组件的组合。
函数原型:long BroadcastSystemMessage(DWORD dwFIags,LPDWORD IpdwRecipients,UINT UiMessage,WPARAMwParam,LPARAM IParam);
参数:
dwFlags:选项标志。可取下列值的组合:
BSF_FLUSHDISK:接受者处理消息之后清洗磁盘。
BSF_FORCEIFHUNG:继续广播消息,即使超时周期结束或一个接受者已挂起。
BSF_IGNORECURRENTTASK:不发送消息给属于当前任务的窗口。这样,应用程序就不会接收自己的消息。
BSF_NOHANG:强制挂起的应用程序超时。如果一个接受者超时,不再继续广播消息。
BSF_NOTIMEOUTIFNOTHUNG:只要接受者没挂起,一直等待对消息的响应。不会出现超时。
BSF_POSTMESSAGE:寄送消息。不能和BSF_QUERY组合使用。
BSF_QUERY:每次发送消息给一个接受者,只有当前接受者返回TRUE后,才能发送给下一个接受者。
lpdwRecipients:指向变量的指针,该变量含有和接收消息接受者的信息。此变量可为下列值的组合:
BSM_ALLCOMPONENTS:广播到所有的系统组件。
BSM_ALLDESKTOPS:Windows NT下,广播到所有的桌面。要求SE_TCB_NAME特权。
BSM_APPLICATIONS:广播到应用程序。
BSM_INSTALLABLEDRIVERS:Windows 95下,广播到安装驱动器。
BSM_INTDRIVER:Windows 95下,广播到网络驱动器。
BSM_VXDS:Windows 95下,广播到所有系统级设备驱动器。
当函数返回时,此变量接受上述值的组合,以确定真正接受消息的接受者。如果此参数为NULL,则将消息广播到所有的组件。
uiMessage:系统消息标识符。
WParam:32位消息特定值。
IParam:32位消息特定值。
返回值:如果函数调用成功,返回值是正数。如果函数不能广播消息,返回值是C1。如果参数dwFlags为BSF_QUERY且至少一个接受者返回BROADCAST_QUERY_DENY给相应的消息,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。
备注:如果BSF_QUERY没指定,函数发送指定的消息给所有请求的接受者,并忽略这些接受者返回的值。
速查:Windows NT:4.0及以上版本:Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib;Unicode:在Windows NT环境下以Unicode和ANSI方式实现。
" No Yes Yes
58 BuildCommDCB 向DCB中传送设备定义字符串 Yes Yes Yes
59 BuildCommDCBAndTimeouts 建立COMMDCB并设置超时值 No Yes Yes
60 CallMsgFilter 将消息传给消息过滤过程 Yes Yes Yes
61 CallNamedPipe 多管道操作 No Yes Yes
62 CallNextHookEx 调中链中的下一个挂钩过程 Yes Yes Yes
63 CallWindowProc 将消息信息传送给指定的窗口过程 " 函数功能:该函数CallWindowProc将消息信息传送给指定的窗口过程。
函数原型:LRESULT CallWindowProc(WNDPROC lpPrevWndFunc,HWND hWnd.UINT Msg,WPARAM wParam,LPARAMIParam);
参数:
lpPrevWndFunc:指向前一个窗口过程的指针。如果该值是通过调用GetWindowLong函数,并将该函数中的nlndex参数设为GWL_WNDPROC或DWL_DLGPROC而得到的,那么它实际上要么是窗口或者对话框的地址,要么就是代表该地址的句柄。
hWnd:指向接收消息的窗口过程的句柄。
Msg:指定消息类型。
wParam:指定其余的、消息特定的信息。该参数的内容与Msg参数值有关。
IParam:指定其余的、消息特定的信息。该参数的内容与Msg参数值有关。
返回值:返回值指定了消息处理结果,它与发送的消息有关。
备注:使用函数CallWindowsProc可进行窗口子分类。通常来说,同一类的所有窗口共享一个窗口过程。子类是一个窗口或者相同类的一套窗口,在其消息被传送到该类的窗口过程之前,这些消息是由另一个窗口过程进行解释和处理的。
SetWindowLoog函数通过改变与特定窗口相关的窗日过程,使系统调用新的窗口过程来创建子类,新的窗口过程替换了以前的窗口过程。应用程序必须通过调用CallWindowsProc来将新窗日过程没有处理的任何消息传送到以前的窗口过程中,这样就允许应用程序创建一系列窗口过程。
如果定义了STRICT,那么lpPrevWndFunc参数具有WNDPROC数据类型。WNDPROC类型说明如下:
LRESULT(CALLBACK· WNDPROC)(HWND, UINT WPARAM,LPARAM)
如果没有定义STRICT,那么lpPrevWndFunc参数具有FARPROC数据类型。FARPROC类型说明如下:int(FAR WINAPL·FARPROC)()
在C语言中,FARPROC申明表示为一个没有指定参数表的回调函数。然而在 C++中;申明中的空参数表示该函数没有参数。这种微妙的区别有可能引起代码出错。下面是一种解决办法:#ifdef STRICT;WNDPROC MyWindowProcedure;#else;FARPROC MyindowProcedure;#endif IResult=CallWindowProc(MyWindowProcedure,…)
有关该函数的空参数表方面进一步的信息,清参考Bjarne Stroustrup编写的C++编程语言第2版。
对于Windows NT:函数CallWindowsProc function进行了Unicode至ANSf转换处理。如果你直接调用该窗口过程,那么无法利用该转换。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib:Unicode:在Windows NT环境中以Unicode和ANSI版本实现。
" No Yes Yes
64 CancelDC 取消指定DC上的任何悬而未决的操作 No Yes Yes
65 CascadeWindows 层叠排列指定父窗口的各指定子窗口 " 函数功能:该函数层叠排列指定父窗口的各指定子窗口。
函数原型:WORD WINAPI CascadeWihdows(HWND hWndParent,UNIT wHow,CONST RECT*lpRect,UNIT cKids, Const HWND FA*lpKids);
参数:
Parent:父窗口的句柄。如果参数为NVLL,则假定为桌面窗口。
wHow:指定层叠标志。唯一可用的标志为MDITILE_SKIPDISABLED,防止被禁止的MDI子窗口被层叠排列。
lpBect:指向RECT结构的指针,该结构以客户坐标定义矩形区域,并在这个区域中排列窗口、该参数可以为NULL,这种情况下使用父窗口的客户区域。
cKids:指明由lpKids参数指定的数组的成员个数。如果IpKidS参数为NULL,则此参数将被忽略。
lpKids:指向将被排列的子窗口的句柄数组的指针。如果此参数为空,则指定的父窗口(或桌面窗口)的所有子窗口都将被排列。
返回值:如果函数成功,返回值为被排列的窗口数目;如果函数失败,返回值为零。若想获得更多错误信息,请调用 GetLastError函数。
备注:调用CascadeWindows函数使所有最大化窗口恢复到它们原来的大小。
速查: Windows NT:4.0以上版本;Windows:95以上版本;Windows CE:不支持;头文件:winuser.h;库文件:User32.1
" No Yes Yes
66 ChangeClipboardChain 从剪贴板查看窗口上删除一个窗口 Yes Yes Yes
67 ChangeMenu No Yes Yes
68 ChangeServiceConfig 修改服务参数 No Yes Yes
69 CharLower 将字符或字符串变为小写 No Yes Yes
70 CharLowerBuff 将字符串变为小写 No Yes Yes
71 CharNext 转到字符串的下一个字符 No Yes Yes
72 CharPrev 转到字符串的上一个字符 No Yes Yes
73 CharToOem 把字符串转换成OEM字符 No Yes Yes
74 CharToOemBuff 把字符串转换成OEM字符 No Yes Yes
75 CharUpper 将字符或字符串变为大写 No Yes Yes
76 CharUpperBuff 将字符串变为小写 No Yes Yes
77 CheckColorsInGamut 检查设备调色板中是否有色彩 No Yes Yes
78 CheckDlgButton 改变按钮控制的选中状态 " 函数功能:该函数改变按钮控制的选中状态。
函数原型:BOOL CheckDlgButton(HWNDhDlg,int nlDButton,UINT uCheck);
参数:
hDlg:指向含有该按钮的对话框的句柄。
nlDButton:标识要修改的按钮。
uCheck:给定该按钮的选中状态。该参数可取下列值,这些值的含义如下:
BST_CHECKED:设置按钮状态为己选中(checked)。
BST_INDETERMINATE:设置按钮状态变灰,表示不确定状态。只有在该按钮具有BS_3STATE或BS_AUTO3STATE样式时才能使用该值。
BST_UNCHECKED:设置按钮为未选中状态(unchecked)。
返回值:如果函数执行成功,返回值非零;如果函数失败,则返回值为零。若想获取更多错误信息,请调用 GetLastError函数。
速查;Windows NT:3.1 及以上版本;WindowS:95及以上版本;Windows CE:不支持:头文件:Winuser.h;库文件:user32.lib。
" Yes Yes Yes
79 CheckMenuItem 修改菜单项的复选标记属性 " 函数功能:该函数设置指定菜单项的校核标记属性为选取或不选取。该函数已被函数SetMenuItemInfo取代。但若不需要SetMenuItemInfo的扩展特性,仍可使用CheckMenuItem。
函数原型:DWORD CheckMenuItem(HMENU hMenu,UINT ulDCheckItem,UINT uCheck);
参数:
hMenu:有关菜单的句柄。
UlDCheckItem:指定要设置其选取标记属性的菜单项。其含义由参数uCheck决定。
uCheck:指定控制参数uIDCheckItem的含义的标志,并指定菜单项的选取标记属性的状态。此参数可为MF_BYCOMMAND或MF_BYPOSITON和MF_CHECKED或MF_UNCHECKED的组合。
MF_BYCOMMAND:表示参数uIDCheckItem给出了菜单项的标识符。若标志MF_BYCOMMMAND和
MF_BYFOSITION都没被指定,则MF_BYCOMMMAND为缺省值。
MF_CHECKED:设置选取标记属性为选取。
MF_UNCHECKED:设置选取标记属性为未选取。
返回值:返回值指定菜单项的前一状态(MF_CHECKED或MF_UNCHECKED)。如果菜单项不存在,返回值是OXFFFFFFFF。
备注:莱单条里的项不能有选取标记。
参数uIDCheckItem标识一个打开子菜单的菜单项或命令项。对打开子菜单的菜单项,参数uIDCheckItem必须指定菜单项的位置。对命令项,参数uIDCheckItem可指定其位置或标识符。
" Yes Yes Yes
80 CheckMenuRadioItem " 函数功能:该函数校核一个指定的菜单项并使其成为一个圆按钮项。同时不校核相关组里的其他菜单项并清除这些项的国按钮的类型标志。
函数原型:BOOL CheckMenuRadioItem(HMEN hMENU,UINT idFirst,UINT idLast,UINT uFlags);
参数:
hMenu:包含一组菜单项的菜单的句柄。
idFirst:菜单组里第一个菜单项的标识符或位置。
idLast:菜单组里最后一个菜单项的标识符或位置。
IdCheck:要选取的菜单项的标识符或位置。
uFlag:指定idFirst,idLast,idCheck含义的值。如果此参数为MF_BYCOMMAND,则其他参数指定菜单项标识符。如果此参数为MF_BYPOSITION,则其他参数指定菜单项位置。
返回值:如果函数调用成功,返回值非零。如果函数调用失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。
备注:CheckMenuRadioItem设置了MFT_RADIOCHECK类型标志,并为由idCheck指定的项设置 MFS_CHECKED状态,同时,清除组里所有其他项目的上述两个标志。被选取的项用项目目标表示,而不是用复选标记目标。要得到更多的关于菜单项类型和状态标志的信息,参看MENUITEMINFO结构。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件;winuser.h;输入库:user32.lib。
" No Yes Yes
81 CheckRadioButton 给一个指定按钮加上选中标志 " 函数功能:该函数给一组单选按钮中的一个指定按钮加上选中标志,并且清除组中其他按钮的选中标志。
函数原型:BOOL CheckRadioButton(HWNDhDlg, intnlDFirstButton, intnlDLastBUtton, intnlDCheckButton);
参数:
hDlg:指向包含单选按钮的对话框的句柄。
nlDFirstButton:指定组中第1个单选按钮的标识符。
nlDLastButton:指定组中最后一个单选按组的标识符。
nlDCheckButton:指出要选中的那个单选按钮的标识符。
返回值:如果函数执行成功,返回值非零;如果失败,则返回零。若想获取更多错误信息,请调用GetLastError函数。
速查:Windows NT:3.1及以上版本;Windows:95及以广版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
82 ChildWindowFromPoint 确定包含有点的窗口 " 函数功能:该函数确定属于某一父窗口的哪一个子窗口(如果存在的话)包含一个指定的点。
函数原型:HWND ChildWindowFromPoint(HWND hWndParent.POINT Point):
Parent:父窗口句柄。
Point:指定一个POINT结构,该结构给定了被检查的点的坐标。
返回值:返回值为包含该点的子窗口的句柄,即使该子窗口是隐藏的或被禁止的。如果该点在父窗口之外,则返回值为NULL。如果该点在父窗口内,但在任一子窗口外,则返回值为父窗口句柄。
备注:系统有一个与某一父窗口有联系的所有子窗口的内部列表。列表中的句柄顺序依据这些子窗口的z序。如果有多于一个的子窗口包含该点,那么系统返回在列表中包含该点的第一个窗口的句柄。
速查:Windows NT:3.1以上版本:Windows:95以上版本;Windows CE;1.0以上版本;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
83 ChildWindowFromPointEx 确定包含有点的窗口 " 函数功能:该函数确定属于父窗口的哪一个子窗口(如果存在的话)包含着指定的点。该函数可以忽略不可见的、禁止的和透明的子窗口。
函数原型:HWND ChidWindowFromPointEx(HWND hwndParent,POINT pt,UNIT uFlags);
参数:
hWndParent:父窗口句柄。
pt:指定一个POINT结构,该结构定义了被检查的点的坐标。
uFlags:指明忽略的子窗口的类型。该参数可以是下列参数的组合。
CWP_ALL:不忽略任一子窗口。CWP_SKIPINVISIBLE:忽略不可见的子窗口。
CWP_SKIPDISABLE:忽略禁止的子窗口。CWP_SKIPTRABSPARENT:忽略透明子窗口。
返回值:返回值为包含该点并且满足由uFlags定义的规则的第一个子窗口的句柄。如果该点在父窗口内,但在任一满足条件的子窗口外,则返回值为父窗口句柄。如果该点在父窗口之外或函数失败,则返回值为NULL。
备注:系统有一个与某一父窗口有联系的所有子窗口的内部列表。列表中的句柄顺序依据这些子窗口的Z序。如果有多于一个的子窗口包含该点,那么系统返回在列表中包含该点并且满足由uFlags定义的规则的第一个窗口的句柄。
速查:Windows NT:4.0以上版本;Windows:95以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib。
" No Yes Yes
84 ChooseColor 建立一个色彩选择对话框 " 函数功能:该函数创建一个能使用户从中选择颜色的通用颜色对话框。
函数原型:BOOL ChooseColor(LPCHOOSECOLOR IpCC);
参数:
lpCC:指向一个包括初始化对话框信息的CHOOSECOLOR结构。当ChooseColor函数返回时,此结构含有有关用户颜色选择的信息。
返回值:如果用户点击对话框中的OK按钮,返回值为非零值。CHOOSECOLOR结构中的rgbResult成员含有用户选择的颜色的RGB颜色值。如果用户取消或关闭Color对话框或错误出现,返回值为零。若想获得更多错误信息,请调用CommDlgExtondedError函数,此函数的返回值为下列中的一个:
CDERR_FINDRESFAILURE;CDERR_MEMLOCKFAILURE;CDERR_INITIALIZATION;
CDERR_NOHINSTANCE;CDERR_LOCKRESFAILURE;CDERR_NOHOOK
CDERR_LOADRESFAILURE;CDERR_NOTEMPLATE;CDERR_LOADSTRFAlLURE;
CDERR_STRUCTSIZE;CDERR_MEMALLOCFAILURE
备注Color对话框不支持彩色调色板,对话框提供的颜色的选择仅限于系统颜色和这些颜色的混合值,可以为对话框提供一个CCHOOKProc程序,此挂钩程序能处理发送给对话框的信息。通过建立CHOOSECOLOR结构中Flags成员的CC_ENABLEHOOK标志和指定IpfnHook成员中挂钩程序的地址,可使挂钩程序生效。
速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:2.0及以上版本;头文件:commdlg.h;库文件:commdlg32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。
" No Yes Yes
85 ChooseFont 建立一个字体选择对话框 " 函数功能:该函数创建一个使用户选择逻辑字体属性的对话框,这些属性包括字体名称、字体风格(如粗体、斜体或正常体)、字号、效果(如强调线,下划线或字体颜色)和手写体(或字符集)。
函数原型:BOOL ChooseFont(LPCHOOSEFONT Ipcf);
参数:
Ipcf:指向一个含有初始化对话框信息的CHOOSEFONT结构。当返回ChooseFont函数时,此结构含有用户对字体选择的信息。
返回值:如果用户点击对话框的OK按钮,返回值为非零值,CHOOSEFONT结构中的成员表明用户的选择。如果用户取消或关闭Font对话框或出现错误信息,返回值为零。若想获得更多错误信息。请调用CommDlgExtendedError函数,其返回值如下:
CDERR_FINDRESFAILURE;CDERR_NOHINSTANCE;CDERR_INITIALIZATION;CDERR_NOHOOK
CDERR_LOCKRESFAILURE;CDERR_NOTEMPLATE;CDERR_LOADRESFAILURE;
CDERR_STRUCTSIZE;CDERR_LOADSTRFAILURE;CDERR_MAXLESSTHANMIN
CDERR_MEMALLOCFAILURE;CDERR_NOFONTS;CDERR_MEMLOCKFAILURE
备注:可以为Font对话框提供一个CFHOOKProc挂钩程序。此挂钩程序能够处理发送给对话框的信息。
通过建立CHOOSEFONT结构中Flags成员的CE ENABLEHOOK标志和指定IPfn Hook成员中挂钩程序的地址可以使挂钩程序有效。
挂钩程序可以把信息WM_CHOOSEFONT_GETLOGLONT,WM_CHOOSEFONT_SETFLAGS和
WM_CHOOSEFONT_SETLOGFONT消息发送给对话框以便得到和创建当前值和对话框的图标。
速查:Windows NT:3.1及以一上版本;Windows:95及以上版本;Windows CE:不支持;头文件:Commdlg.h;库文件:comdlg32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。
" No Yes Yes
86 ChoosePixelFormat No Yes Yes
87 Chord 画一条弦 Yes Yes Yes
88 ClearCommBreak 恢复字符传输 Yes Yes Yes
89 ClearCommError 允许出错后进行通信 No Yes Yes
90 ClearEventLog 消除事件记录 No Yes Yes
91 ClientToScreen 将客户点转换成屏幕坐标 Yes Yes Yes
92 ClipCursor 将光标限制在矩形内 " 函数功能;该函数把光标限制在屏幕上的一个矩形区域内,如果调用SetCursor或用鼠标设置的一个随后的光标位置在该矩形区域的外面,则系统自动调整该位置以保持光标在矩形区域之内。
函数原型:BOOL ClipCursor(CONST RECT* lpRect);
参数:
IpRect:指向RECT结构的指针,该结构包含限制矩形区域左上角和右下角的屏幕坐标,如果该指针为NULL(空),则光标可以在屏幕的任何区域移动。
返回值:如果成功,返回值非零;如果失败,返回值为零。若想获得更多错误信息,请调用GetLastError。
备注:光标是一个共享资源,如果一个应用控制了光标,在将控制转向另一个应用之前,必须要使用ClipCursor来释放光标,该调用过程必须具有对窗口的WINSTA_WRITEATTRIBUTES访问权。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件;user32.lib。
" Yes Yes Yes
93 CloseClipboard 关闭剪贴板 Yes Yes Yes
94 CloseDesktop No Yes Yes
95 CloseDriver 光闭可装入的多媒体驱动程序 Yes Yes Yes
96 CloseEnhMetaFile 光闭增强型图元文件DC No Yes Yes
97 CloseEventLog 光闭事件记录句柄 No Yes Yes
98 CloseFigure 光闭路径中的一个数 No Yes Yes
99 CloseHandle 关闭打开的对象句柄 No Yes Yes
100 CloseMetaFile 关闭WINDOWS图元文件DC Yes Yes Yes
101 ClosePrinter 关闭打开的打印机 No Yes Yes
102 CloseServiceHandle 关闭Service Control Manager对象 No Yes Yes
103 CloseWindow 最小化窗口 " 函数功能:该函数最小化指定的窗口,但并不销毁该窗口。
函数原型:BOOL CloseWindow(HWND hWnd);
参数:
hWnd:将要最小化的窗口的句柄。
返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。
备注:窗口尺寸被最小化成一个图标,并移动到屏幕的图标区域。系统显示窗口的图标而不显示窗口,并在图标下显示窗口标题。应用程序必须使用DestroyWindow函数销毁窗口。
速查:WindowS NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib
" Yes Yes Yes
104 CloseWindowStation No Yes Yes
105 ColorMatchToTarget 控件预览设备描述表 No Yes Yes
106 CombineRgn 将两个区域合成一个区域 Yes Yes Yes
107 CombineTransform 将两个变换式结合在一起 No Yes Yes
108 CommConfigDialog No Yes Yes
109 CommDlgExtendedError 返回一个对话框错误代码 " 函数功能:该函数返回一个对话框错误代码,此代码显示出在执行下列对话框函数时要出现的最近的错误:ChooseColor,GetOpenFileName,ChooseFont,GetSaveFileName,FindText,PrintDlg,ReplaceText,PageSetpDlg。
函数原型:DWORD CommDlgExtendedError(VOID)
参数:无。
返回值:如果最近一次对话框函数调用成功,返回值不确定,如果对话框函数因为用户关闭或取消对话框而返回FALSE,则返回值为零。否则返回值是非零错误代码。有关更多的信息,参见下列说明部分。
备注:CommDlgExtendedError函数可以返回公共对话框函数中的一般的错误代码。
另外,也返回某一具体公共对话框的错误代码。由CommDlgExtendedError返回的错误代码在CDERR.H文件里定义:
下面是CommDlgExtendedError的返回错误代码值。
CDERR_DIALOGFAILURE:对话框不能创建。DialogBox函数对对话框函数的调用失败,例如如果公共对话框的调用指定一个无效的窗口句柄,则此种错误产生。
CDERR_FINDRESFAILURE:公共对话框函数没能找到指定资源。
CDERR_INITIALIZATION:公共对话框函数在初始化过程中失败。当没有足够内存时此错误出现。
CDERR_LOADRESFAILURE:公共对话框函数没能调出指定的资源。
CDERR_LOADSTRFAILURE:公共对话框函数没能调出指定的串。
CDERR_LOCKRESFAILURE:公共对话框函数没能销定指定的资源。
CDERR_EMAILCOLFAILURE;公共对话框函数不能为内部结构分配内存。
CDERR_NOHINSTANCE:在对应的公共对话框初始化结构Flags成员中设置ENABLETEMPLATE标志,但是在提供相应的事例句柄时出错。
CDERR_NOHOOK:在对应的公共对话框初始化结构Flags成员中设置ENABLEHOOK标志,但是在提供相应的挂钩程序指针时出错。
CDERR_NOTEMPLATE:在对应的公共对话框初始化结构Flag成员中设置ENABLETEMPLATE标志,但是在提供相应的模板时出错。
CDERR_REGISTERMSGFAIL:当RegisterWindowMessage函数被公共对话框函数调用时,该函数返回错误代码。
CDERR_STRUCTSIZE:对应的公共对话框初始化结构旧IStructSize成无效成员。
下列为Print Dlg函数的返回值。
PDERR_CREATEICFAILURE:当PrintDlg函数想创建一个信息表时出错。
PDERR_DEFAIKTDFFERENT:利用在DEVNAMES结构中wDefault成员指定的DN_DEFAULTPRN标志,可以调用PrintDlg函数。但是被另外一个结构成员描述的打印机与当前缺省的打印机不匹配。(此错误发生在储存DEVNAMES结构和用户利用控制面板改变缺省打印机时)。要使用DEVNAMES结构所描述的缺省打印机,必须清空DN_DEFAULTPRN标志并且要再一次调用PrintDlg。要使用缺省打印机,必须用NULL取代DEVNAMES结构俐DEVMODE结构,如果此结构存在的话),并且要再一次调用PrintDlg函数。
PDERR_DNDMMISMATCH:OEVMOOE和DEVNAMFS结构中的数据描述了两种不同的打印机。
PDERR_GETDEVMODEFAIL;打印机驱动程序不能初始化一个DEVMODE结构(这种错误代码只用于Windows 3.0及以上版本的打印机驱动程序)。
PDERR_INITFAILURE:PrintDlg函数不能初始化,并且没有更多的错误代码来描述此错误。
PDERR_LOADDRVFAILURE:PrinDlg函数不能为指定的打印机装备设备驱动器。
POERR_NODEFAULTPRN:不存在缺省打印机。
POERR_NODEVKES:未发现打印机驱动程序。
PDERR_PARAEFAILURE:PrintDlg函数在分析WIN.INI文件中的[devces]部分的字符串时出错。
PDERR_PRINTERNOTFOUND;WIN.INI文件的[device]部分不包含所请求打印机的入口
PDERR_RETDEFFAILURE_PD:RETURNDEFAULT标志被指定在PRINTDLG结构的Flags成员中。但hDevMode或hDevNames成员不是NULL。
PDERR_SETUPFAILURE:PrintDlg函数在装载所需要的资源时出错。
下面是ChooseFont函数的返回值。
CFERR_MAXLESSTHANMIN:CHOOSEFONT结构中的nSizeMax成员所给定的大小小于nSizeMin成员给定的大小。
CFERR_NOFONTS:不存在字体。
下面是GetOpenFileName和GetSaveFileName函数的返回值。
FNERR_BUFFERTOOSMALL:由OPENFILENAME结构的lpstrFile成员指向的缓冲区对由用户指定的文件名来说太小。前两种IpstrFile缓冲区的字节含有一个指定大小的整型值。用来存放全文件名。
FNERR_INVAIDFILENAME:文件名无效。
FNERR_SUBASSFAILIIRE:由于没有足够内存,在对列表框分类时出错。
下面是FindText和ReplaceText函数的返回值。
FRERR_BUFFERLENGTHZERO:结构FINDREPLACE中的一个成员指向一个无效的缓冲区。
在Windows CE中Windows CE支持另外的四种返回值,如下:
CDERR_REGISTRYFAILURE 公共对话框函数无法读注册表。
下面的一些返回值只适用于PrintDlg函数。
PDERR_NOPORTS:没有注册的端口PDERR_NOPRINTERS:没有注册的打印机
PDERR_CREATEDCFAILURE:CreateDC调用失败
Windows CE不支持CDERR_LOADSTRFAILURE、CDERR_MEMLOCKFAILURE或CDERR_REGISTERMSGFAIL返回值。Windows CE也不支持任何PDERR_错误值。
速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本:头文件:commdlg.h;库文件:comdlg32.lib。
" No Yes Yes
110 CommandLineToArgv No Yes Yes
111 CompareFileTime 比较两个64位文件时间 No Yes Yes
112 CompareString 比较两个局部指定字符串 No Yes Yes
113 ConfigurePort 配置打印机端口 No Yes Yes
114 ConnectNamedPipe 等待要连接的客户机 No Yes Yes
115 ConnectToPrinterDlg 显示浏览对话并连接网络打印机 No Yes Yes
116 ContinueDebugEvent 使调试线索继续 No Yes Yes
117 ControlService 向服务器发送控件 No Yes Yes
118 ConvertDefaultLocale 将缺省局部转换为实际的局部值 No Yes Yes
119 CopyAcceleratorTable 拷贝加速键表 " 函数功能:拷贝加速键表。拷贝加速键表函数拷贝指定的加速键表。此函数用于获得与一加速键表句柄相对应的加速键表数据,或用于确定加速键表数据的大小。
函数原型:int CopyAcceleratorTable(HACCEL hAccelSrc,LPACCEL IpAcceIDst,int cAccelEntries);
参数:
hAccelSrc:欲拷贝的加速键表的句柄。
IpAccelDst:指向ACCEL结构数组的指针,该结构数组中存在着将要拷贝的加速键表信息。
cAccelEntries:指定由IpAcceIDst参数指向的欲拷贝到缓冲区的ACCEL结构的个数。
返回值:如果IpAccelDst为空,则返回值给出初始加速键表入口的个数。否则,给出己拷贝的加速键表的入口个数。
速查:WindOWS NT:3.1及以上版本:Windows:95及以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" No Yes Yes
120 CopyCursor 复制一个光标 " 函数功能:该函数复制一光标。
函数原型:HCURSOR CopyCursor(HCURSOR pcur);
参数:
pcur:被复制光标的句柄
返回值;如果成功,返回值是复制光标的句柄;如果失败,返回值为NULL(空)。若想获得更多错误信息,请调用GetLastError函数。
备注;CopyCursor函数能使一个应用程序或一个动态连接库(OLL)得到一个属于另一模块的光标形状的句柄。如果另外一个模块被释放,则该应用程序仍然可以使用该光标形状。在关闭之前,一个应用程序必须调用DestroyCursor函数来释放任何与该光标有关的系统资源。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib
" Yes Yes Yes
121 CopyEnhMetaFile 复制增强型图元文件 No Yes Yes
122 CopyFile 复制文件 No Yes Yes
123 CopyIcon 复制图标 " 函数功能:该函数从另外的模块向当前模块复制指定的图标。
函数原型:HICON CopyIcon(HICON hlcon);
参数:
hlcom:被复制图标的句柄。
返回值:如果函数成功,返回值是图标副本的句柄;如果函数失效,返回值是NULL。想获得更多的错误信息,请调用GetLastError函数。
备注:CopyIcon函数使应用程序或动态链接库(DLL)能获得另一个模块自己拥有图标的句柄,如果这个模块被释放,应用程序图标将仍然能使用这个图标。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
124 CopyImage 创建一个新的图像 " 函数功能:该函数创建一个新的图像(图标、光标、位图)并复制该指定图像的属性到新的图像。若有必要,该函数将伸展位值以填满新图像所需要的尺寸。
函数原型:HANDLE CopyImage(HANDLE hlmage,UjNT uTyPe,int cxDesired,int cyDesired,UINT fuFlags)
参数:
hImage:指向包含将被复制图像的模型中的一个特例的句柄。
uType:说明被复制图像的类型,此参数将可能是如下值:
IMAGE_BITMAP:表示复制一个位图;IMAGE_CURSOR;表示复制一个光标。
IMAGE_ICON:表示复制一个图标。
cxDesired:用来指定图像所需的像素宽度。
cyDesired:用来指定图像所需的像素高度。
fuFlags:指定下列复合值,其含义具体如下:
LR_COPYDELETEORG:表示创建一个副本后删除原始图像。
LR_COPYRETURNORG;表示创建一个图像的精确副本,而忽略参数cxDesired和cyDesired。
LR_MONOCHROME:表示创建一个新的单色图像。
LR_COPYFROMRESOURCE;表示试图从原始资源文件中再装载图标或光标资源而不是简单的复制当前图像。这使得在含有多种尺寸资源的资源文件中再创建一个不同尺寸的副本时非常有用。若没有这个标志,Copylmage函数将伸展原始图像到新的尺寸;若此标志被设置,Copylmage函数将在资源文件中选择使用最接近所期待尺寸的值。
此函数只有在Loadlcon、LoadCursor或Loadlmage函数中的hlmage参数被装载成LR_SHARED值时才运行成功的。
返回值:如果函数运行成功,其值将返回最新创建图像的句柄;如果函数运行失败,其值将返回空。若想获得更多的错误信息,请调用GetLastError函数。
注意:当使用完资源后,可以调用下表中列举的函数以释放相关内存。
Resource Release function资源释放函数:Bitmap DeleteObject 位图:DeleteObject;
Cursor DestroyCursor 光标:DestroyCursorr;lcon Destroylcon 图标: Destroylcon。
当过程终止时,系统将自动删除这些资源。因而,调用相关函数可以节省内存空间且减少过程工作设置所需空间的大小。
速查:Windows NT 3.5 Windows 95以上,头文件:winuserh;库文件:user32.lib。
" No Yes Yes
125 CopyLZFile No Yes Yes
126 CopyMetaFile 复制Windows图元文件 Yes Yes Yes
127 CopyRect 复制矩形大小 Yes Yes Yes
128 CopySid 将SID复制到缓冲区中 No Yes Yes
129 CountClipboardFormats 返回剪贴板格式的数量 Yes Yes Yes
130 CreateAcceleratorTable 建立加速键表 " 函数功能:创建加速键表。该函数创建一个加速键表。
函数原型:HACCEL CreateAcceleratorTable(LPACCEL lpaccl,int cEntries);
参数:
Ipaccl:指向描述加速键表的ACCEL结构数组的指针。
cEntires:指定数组中ACCEL结构的个数。
返回值:如果函数调用成功,则返回值为所创建的加速键表的句柄;否则,返回值为空。若想获得更多的错误信息,请调用GetLastError。
备注:关闭应用程序之前,必须调用DestroyAcceeleratorTable函数撤消所有由CreatedAccelerstorTable函数创建的加速键表。
速查:Windows NT:3.1u及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本:头文件:winuser.h;库文件:USer32.lib; Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" No Yes Yes
131 CreateBitmap 建立独立于设备的内存位图 Yes Yes Yes
132 CreateBitmapIndirect 用BITMAP结构建立位图 Yes Yes Yes
133 CreateBrushIndirect 用指定属性建立一个刷子 Yes Yes Yes
134 CreateCaret 为系统脱字号建立新的形状 " 函数功能;该函数为系统插入标记创建一个新的形状,并且将插入标记的属主关系指定给特定的窗口。插入标记的形状。可以是线、块或位图。
函数原型:BOOL CreateCaret(HWND hWnd,HBIBMAP hBitmap,int nHeight);
参数:
hWnd:指定佣有插入标记的窗口。
hBitmap:标识用于定义插入标记形状的位图。如果该参数为NULL,那么插入标记是实心的(原色),如果该参数为(HBITMAP)1,那么插入标记是灰色的。如果该参数是位图句柄,那么插入标记就是指定的位图。位图句栖必须已中由CreateBitmap、CreatDIBitmap或LoadBitmap函数创建。
如果hBitmap为位图句栖,那么CreateCaret函数将忽略参数nWidth和nHeight,因为该位图定义了自己的宽度和高度。
nWidth:按逻辑单位指定插入标记的宽度,如果该参数为零,那么宽度就设为系统定义的窗口边界宽度。如果hBitmap是位图句柄,那么函数CreateCaret忽略该参数。
nHeight:按逻辑单位指定插入标记的高度。如果该参数为零,那么高度就设为系统定义的窗口边界高度如果hBitmap是位图句柄,那么函数CreateCaret忽略该参数。
返回值:如果函数执行成功,返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误 信息,请调用GetLastError函数。
备注:参数nWidth和nHeight指定了插入标记的宽度和高度,这些值按逻辑单位表示;按像素表示的真正 宽度和高度与窗口的映射模式有关。
CreateCaret函数自动清除前一个插入标记的形状,不考虑拥有该插入标记的窗口。新创建的插入标记一直隐藏,直到应用程序调用ShowCaret函数使该插入标记可见为止。
系统为每个队列提供一个插入标记。窗口只有在它有键盘焦点(focus)或者它是活动窗口时才创建插入标记。该窗口应在键盘焦点消失或窗口变为不活动之前,清除插入标记。
可以通过使用GetSystemMetrics函数,并指定SM_CXBORDER和SM_CYBORDER值来检索系统窗口边界的宽度或高度。使用窗口边界的宽度或高度可以保证插入标记在高分辨率屏幕上可见。
对于Windows CE:Windows CE不支持hBitmap参数,并且该参数应设为NULL。Windows CE缺省的是实心(Solid)插入标记。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
135 CreateColorSpace 建立逻辑色影区域 No Yes Yes
136 CreateCompatibleBitmap 建立与DC相兼容的位图 Yes Yes Yes
137 CreateCompatibleDC 建立与指定DC相兼容的DC Yes Yes Yes
138 CreateConsoleScreenBuffer 将句柄返回给新的屏幕缓冲区 No Yes Yes
139 CreateCursor 用指定的尺寸建立一个光标 " 函数功能:该函数创建一个指定大小、位模式和热点的光标。
函数原型:HCURSOR CreateCursor(HINSTANCE htnst,int xHotSpot;int yHotSpot;int nWidth;iut nHeight,CONST VOID *pvANDPlane,CONST VOID *pvXORPlane);
参数:
hlnst:创建光标的应用程序的当前事例句柄。
xHotSpot:指定光标热点的水平位置。
yHotSpot:指定光标热点的垂直位置。
nWidth:以像素为单位指定光标的宽度。
nHeight:以像素为单位指定光标的高度。
pvANDPlane:指向一个字节数组的指针,该数组包含光标AND掩码的位值,就象设备相关的单色位图一样。
pvXORPlane:指向一个字节数组的指针,该数组包含光标XOR掩码的位值,就象设备相关的单色位图一样。
返回值:如果成功,返回光标的值;如果失败,返回值为NULL(空),若想获得更多错误信息,调用GetLastError函数。
备注:nWidth和nHeight参数必须指定一个当前显示驱动支持的宽度和高度,因为系统不能创建一个其他尺寸的光标,为了确定显示驱动所支持的宽度和高度,请使用GetSystemMetrics函数,指定SM_CXCUROR或SM_CYCURSOR值。在一个应用程序关闭之前,必须调用DestroyCursor函数来释放与光标有关的任何系统资源。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
140 CreateDC 建立设备描述表 Yes Yes Yes
141 CreateDIBPatternBrush 从DIB中建立图案刷子 Yes Yes Yes
142 CreateDIBPatternBrushPt 从位图中建立逻辑刷子 No Yes Yes
143 CreateDIBSection No Yes Yes
144 CreateDIBitmap 从DIB spec中建立位图句柄 Yes Yes Yes
145 CreateDesktop No Yes Yes
146 CreateDialogIndirectParam 从内存模块中建立非模态对话框 " 函数功能:该函数从内存中的对话框模板上创建一个无模式对话框,在显示对话框之前,函数把应用程序定义的值作为WM_INITDIALOG消息的IParam参数传送到对话框过程。应用程序可用此值初始化对话框控制。
函数原型:HWND CreateDialogIndirectParam(HINSTANCE hinstance,LPCDLGTEMPLAT IPTemPIate,HWNDhWndParent,DLGPROC IpDialogFunc,LPARAM IParaminit);
参数:
hinstance:标识将创建对话框的模块的事例。
IpTemplate:指向一个含有模板的全局内存对象的指针,CreateDialogIndirectParam用该模板来创建对话框。
对话框模板由描述对话框的标题组成,跟随着标题之后的是描述每一个控制的一个或多个数据块,模板可以用标准格式或扩展格式。
在标准模板中,标题是由DLGTEMPLATE结构跟随一个变长数组组成。每个控制的数据是由DLGTEMPLATE结构跟随一个变长数组组成。
在扩展模板中,标题用DLGTEMPLATEEX格式,且控制定义用DLGITEMPLATEEX格式。
CreateDilogIndirectParam函数返回后,可释放模板,此模板仅用于启动对话框。
HWndParent:标识拥有对话框的窗口。
IpDialogFunc:指向对话框过程的指针,有关更多的对话框过程的信息,参见DialogProc。
lParamlnit:指定传递到WM_INIDIALOG消息的IParam参数中对话框中的值。
返回值:如果函数调用成功,则返回值为指向对话框的句柄:如果函数调用失败,则返回值为NULL。若想获得更多的错误信息,可调用GetLastError函数。
备注:CreatDialogIndirectParam函数使用createWindowEx函数来创建对话框,然后该函数把一个WM_INTDIALOG消息发送到对话框应用程序,如果模板指定DS_SETFONT类型,则函数也把一个WM_SETFONT消息发送到对话框应用程序。如果模板指定WS_VISBLE类型,则函数显示对话框,最后CreatDialogdirectParam返回指向对话框的窗口句柄。
CreatDialogIndirectParam函数返回之后,可用ShowWindow函数来显示对话框(如果还没有显示)。用DestroyWindow函数来清除对话框。
在标准对话框模板中,DLGTEMPLATE结构和每一个DLGITEMTEMPLATE结构必须按DWORD边界对齐,遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。
在扩展对话框模板上DLGTEMPLATEEX结构和每一个DLGITEMTEMPLATEEX结构必须按DWORD边界对齐,遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。
所有对话框模板的字符串,例如对话框和按钮的标题,一定是Unicode字符串。使用
MultiByteTowidechar函数产生这些Unicode字符串可以创建在Windows和Windows NT两种系统上工作的代码。
Windows 95和以后版本:系统可支持每个对话框模板最多为255个控制。为把多于255个控制放入对话框,可以在WM_INITDLALOG消息处理器中创建控制,而不是把它们放入模板中。
Windows CE:可视屏幕面积之外的对话框不能自动地被重新定位。
如果用户在对话框有输入焦点的同时按下Alt+H,则系统把一个WM_HELP消息传送到对话过程,应用程序应该通过显示对话框描述表积极帮助来响应此消息。
DLGTEMPLATE结构的类型成员不支持下列类型:
DS_SETFONT:在对话框中不能设置字体。
DS_RECURSE:不需要。任何一个子对话框可自动地被看作递归对话框。
DS_CONTROL:不需要。
WS_EX_CONTROLPARENT:所有对话框都被自动假设为控制母体。用DS_CENTER类型可得到缺省位置定位。如果没有指定WS_CHLD.则假设为WS_POPUP类型。
速查:WindowsNT:3.1及以上版本:Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuse.h库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" No Yes Yes
147 CreateDialogParam 建立非模态对话框 " 函数功能:该函数根据对话框模板资源创建一个无模式的对话框。在显示对话框之前,函数把一个应用程序定义的值作为WM_INITDIALOG消息IParam参数传到对话框过程应用程序可用此值来初始化对话框控制。
函数原型:HWND CreateDialogParam(HINSTANCE hInstance,LPCTSTR IpTemplateName,HWND hWndParent,DLGPROCIpDialogFunc, LPARAM dwlniParam);
参数:
hInstance:标识一个模块的事例,该模块的可执行文件含有对话框模板。
IpTemplateName:标识对话框模板。此参数可以指向一个以NULL结尾的字符串的指针,该字符串指定对话框模板名,或是指定对话框模板的资源标识符的一个整型值。如果此参数指定了一个资源标识符,则它的高位字一定为零且低位字一定含有标识符。一定用MAKENTRESOURDE宏指令创建此值。
HwndParent:指定拥有对话框的窗口。
IpDialogFunc:指向对话框过程的指针。有关对话框过程的更详细的信息,请参见DialogProc。
dwlnitParam:指定传递到WM_INITDIALOG消息的IParam参数中的对话框过程的值。
返回值:如果函数调用成功则返回值为指向对话框的窗口句柄。如果函数调用失败则返回值为NULL。
若想获得更多错误信息,请调用GetlastError函数。
备注:CreateoialogParam函数用 CreateWindowEx函数创建对话框。CreateDialogParam函数然后把一个WM_INITDIALOG消息(和一个WM_SETFONT消息,如果模板指定DS SETFONT类型)传递到对话框过程。如果模板指定WS_VISIBLE类型,则函数显示对话框,最后CreateDialogParam返回对话框的窗口句柄。
CreateDialogParam返回之后应用程序用ShowWindow显示对话框(如果还没有显示)。应用程序用DestroyWindoW函数来清除对话框。
Windows 95和以后版本:系统可支持每个对话框模板中最多255个控制。为把大于255个的控制放入对话框,需要在WM_INITDIALOG消息处理器中创建控制,而不是把他们放入模板中。
Windows CE:IPTemplateName参数指向的对话框模板中DLGTEMPLATE结构并不支持所有的类型。
速查:Windows NT:3.1 及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件;winuser.h;库文件:use32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" No Yes Yes
148 CreateDirectory 建立一个新目录 No Yes Yes
149 CreateDirectoryEx 用模板属性建立一个目录 No Yes Yes
150 CreateDiscardableBitmap 建立可放弃位图 Yes Yes Yes
151 CreateEllipticRgn 建立椭圆区域 Yes Yes Yes
152 CreateEllipticRgnIndirect 建立椭圆区域 Yes Yes Yes
153 CreateEnhMetaFile 建立增强型图元文件DC No Yes Yes
154 CreateEvent 返回新事件对象一个句柄 No Yes Yes
155 CreateFile 建立、打开或截断文件 No Yes Yes
156 CreateFileMapping 返回新文件映像对象一个句柄 No Yes Yes
157 CreateFont 建立逻辑字体 Yes Yes Yes
158 CreateFontIndirect 用LOGFONT结构建立字体 Yes Yes Yes
159 CreateHalftonePalette 为设备描述表建立中间色调调色板 No Yes Yes
160 CreateHatchBrush 建立影线刷子 Yes Yes Yes
161 CreateIC 建立信息上下文 Yes Yes Yes
162 CreateIcon 建立有指定属性的图标 " 函数功能:该函数按指定的大小、彩色、位创建图标。
函数原型:HCON CreateIcon(HINSTANCE hInstance,int nWidth,int nHeight,BYTE cPlanes,BYTE cBitsPixe,CONS TBYTE *IpbANDbits,CONST BYET *IpbXORbits);
参数:
hInstance:创建图标模块事例的句柄。
nWidth:指定目标宽度(像素)。
nHeight:指定图标高度(像素)。
cPlanes:指定图标位掩码异或的位面数。
cBitsPixel:指定图标位掩码异或中每像素的位数。
IpbAnDbits:某字节数组的指针,这个数组包含一个图标位与的位值。这个位掩码描述一个单色位图。
IpbXORbits:某字节数组的指针,这个数组包含一个目标位异或的位值。这个位掩码描述一个单色位图或设备相关颜色位图。
返回值:如果函数成功返回值是图标的句柄。如果函数失效,返回值是NULL。想获得更多的错误信息,请调用GetLastError函数。
备注: nWidth和nHeight参数受当前显示驱动程序指定的宽度和高度限制,因为系统不能创建其他大小的图标。使用GetSystemMetric函数确定显示驱动程序支持的宽度和高度。
CreateIcon应用下列位与和位异或的真值表:
OR XOR 显示
0 0 黑色
0 1 白色
1 0 直接显示屏
1 1 反转显示屏
速查:windows NT:3.1及以上版本;Windows:95N以上版本:Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
163 CreateIconFromResource 建立图标或光标 " 函数功能:该函数通过描述图标的资源位创建图标或光标。
函数原型:HICON CreateIconFuomResource(PBYTE presbits,DWORD dwResSize,BOOL flcon,DWORD dwVer);
DresDits:包含图标或光标资源位缓冲区的指针典型应用,可通过调用LOOKuplconldFromDirectory 或LoadResource 函数载入这些位(在Windows95也可调用LookuplconldFromDirectorvEx)。
DwResSize:以字节为单位指定由DresbitS参数指定的位集合的大小。
dwVer:指定由presbits参数指定的资源位的图标或光标格式的的版本号。参数可能是下列的值:
格式 dwVer
Winsows2.x 0×00020000
Winsows3.x 0×00030000
所有基于 Microsoft Win32的应用程序使用Windows 3.x格式的图标和光标。
返回值:如果函数成功返回值是图标或光标的句柄;如果函数失效,返回值是NULL。想获得更多的错误信息,请调用GetLastError函数。
备注:CreateIconFromResource,CreateIconFromResourceEx,CreateIconIndirect,GetIconInfo,LookupIconIdFromDirectory,LookupIconIdFromDirectoryEx函数允许外壳应用程序和图标浏览器在整个系统中检查和使用资源。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
" No Yes Yes
164 CreateIconIndirect 建立图标或光标 No Yes Yes
165 CreateIoCompletionPort No Yes Yes
166 CreateMDIWindow 建立新的MDI窗口 " 函数功能:该函数创建一个多文档接口MDI的子窗口。
函数原型:HWND GreateMDIWindow(LPTSTR IpClassName,LPTSTR IpWindowName,LPTSTR IpWindowName,DWORD dwStyle,int X,int Y,intn Width,int nHeight,HWND hWndParent,HINSTANCE hInstance,LPARAM IParam);
参数:
lpClassName:以“/O”为结尾的字符串指针,该字符串指定MDI子窗口的窗口类。该类名必须已通过调用 RegisterClassEx函数注册过。
lpWindowsName:以“/O”为结尾的字符串指针,该字符串表示窗口的名字。系统在子窗口的标题条中显示此名字。
dwStyle:规定MDI子窗口形式。如果MDI客户窗口是以MDIS-ALLCHILDSTYLES窗日形式创建的,这个参数可以是在Createwindow函数描述中列出的窗口形式的任何组合;否则,这个参数必须取下列值之一或多个组合:
WS_MINIMIZE:创建一个初始状态为极小化的MDI子窗口。
WS_MAXIMIZE:创建一个初始状态为极大化的MDI子窗口。
WS_HSCROLL:创建一个带有水平流动条的MDI子窗口。
WS_VSCROLL:创建一个带有垂直流动条的MDI子窗口。
X:指定MDI子窗口在客户坐标系中水平位置的初值。如果此参数值为CW_USEDEFAULT,MDI子窗口被分配为水平位置的缺省值。
Y:指定MDI子窗口在客户坐标系中垂直位置的初值。如果此参数为CW_USEDEFAULT,MDI子窗口被分配为垂直位置的缺省值。
nWidth:指定MDI子窗口的初始宽度,单位为设备单位。如果此参数值为CW_USEDEFAULT,MDI子窗口被分配为缺省宽度。
nHeight:指定MDI子窗口的初始高度,单位为设备单位。如果此参数值为CW_USEDEFAULT,MDI子窗口被分配为缺省高度。
hWndParent:指向MDI客户窗口的句柄,该窗口为新的MDI子窗口的父窗口。
hInstance:指向创建MDI子窗口的应用事例的句柄。
lParam:指定一个应用程序定义的值。
返回值:如果函数调用成功,返回值为所创建窗口的句柄;否则,返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。
备注:使用CreateMDIWindow函数与发送WM_MDCREATE消息给一个MDI客户窗日相似,区别是函数可以在不同的线程中创建一个MDI子窗口,而消息不可以。
Windows 95。系统最多可以支持16,364个窗口句柄。
速查:Windows NT: 3.1及以上版本; Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib;Unicoae:在Windows NT环境中以Unicode和ANSI方式实现。
" No Yes Yes
167 CreateMailslot 建立Mailsolt No Yes Yes
168 CreateMenu 建立菜单 " 函数功能:该函数创建一个菜单。此菜单最初是空的,但可用函数InserMenultem,AppendMenu,和lnsertMenu来填入菜单项。
函数原型:HMENU CreateMenu(VOID)
参数:无。
返回值:如果函数调用成功,返回值是新创建菜单的句柄。如果函数调用失败,返回值是NULL。若想获得更多的错误信息,请调用GetLastError函数。
备注:与被分配给一个窗日的菜单相联系的资源会被自动释放。如果此菜单未被分配给一个窗口,应用程序必须在关闭之前释放与菜单相连的资源。应用程序通过调用函数DestroyMenu来释放菜单资源。
Windows 95环境下,系统可支持最多16,364个菜单句柄。
速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。
" Yes Yes Yes
169 CreateMetaFile 建立WINDOWS图元DC Yes Yes Yes
170 CreateMutex 将句柄返回给MUTEX对象 No Yes Yes
171 CreateNamedPipe 建立命名管道实例 No Yes Yes
172 CreatePalette 建立逻辑色彩调色板 Yes Yes Yes
173 CreatePatternBrush 从位图中建立图案刷子 Yes Yes Yes
174 CreatePen 建立逻辑画笔 Yes Yes Yes
175 CreatePenIndirect 用LOGPEN结构建立画笔 Yes Yes Yes
176 CreatePipe 建立匿名管道 No Yes Yes
177 CreatePolyPolygonRgn 建立由多边形组成的区域 Yes Yes Yes
178 CreatePolygonRgn 建立多边形区域 Yes Yes Yes
179 CreatePopupMenu 建立弹出式菜单 " 函数功能:该函数创建一个下拉式菜单、子菜单或快捷菜单。此案单最初是空的,但可用函数InserMenultem来插入或追加菜单项。也可用函数InsertMenu来插人菜单项,用AppendMenu来追加菜单项。
函数原型:HMENU CreatePopupMenu(VOID)
参数:无。
返回值:如果函数调用成功,返回值是新创建菜单的句柄。如果函数调用失败,返回值是NULL。若想获得更多的错误信息,请调用GetLastError函数。
备注:一个应用程序可增加新菜单到已存在的菜单上,或者可以调用函数TrackPopupMenuEx或TrackPopupMenu来显示快捷菜单。与被分配给一个窗口的菜单相联系的资源会被自动释放。如果此菜单未被分配给一个窗口,应用程序必须在关闭之前释放与菜单相连的资源。应用程序通过调用函数DestroyMenu来释放菜单资源。Windows95环境下,系统可支持最多16,364个菜单句柄。
速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本:头文件:winuser.h;输入库:user32.lib。
" Yes Yes Yes
180 CreatePrivateObjectSecurity 分配并初始化保护SD No Yes Yes
181 CreateProcess 建立新的进程和线索对象 No Yes Yes
182 CreateProcessAsUser 建立指定用户的新进程 No Yes Yes
183 CreateRectRgn 建立矩形区域 Yes Yes Yes
184 CreateRectRgnIndirect 用RECT结构建立一个区域 Yes Yes Yes
185 CreateRemoteThread 在另一进程中建立线索 No Yes Yes
186 CreateRoundRectRgn 建立圆角矩形 Yes Yes Yes
187 CreateScalableFontResource 建立带字体信息的资源文件 Yes Yes Yes
188 CreateSemaphore 将句柄返回给新的信号量 No Yes Yes
189 CreateService 建立服务对象 No Yes Yes
190 CreateSolidBrush 用指定颜色建立实心刷子 Yes Yes Yes
191 CreateTapePartition 建立新的磁带分区 No Yes Yes
192 CreateThread 建立新的线索 No Yes Yes
193 CreateWindowEx 创建一个窗口 " 函数功能:该函数创建一个具有扩展风格的重叠式窗口、弹出式窗口或子窗口,其他与CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindowEx。
函数原型:HWND CreateWindowEx(DWORD dwExStle,LPCTSTR IpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndParent,HMENUhMenu,HANDLE hlnstance,LPVOIDlpParam);
参数:
dwExStyle:指定窗口的扩展风格。该参数可以是下列值:
WS_EX_ACCEPTFILES:指定以该风格创建的窗口接受一个拖拽文件。
WS_EX_APPWINDOW:当窗口可见时,将一个顶层窗口放置到任务条上。
WS_EX_CLIENTEDGE:指定窗口有一个带阴影的边界。
WS_EX_CONTEXTHELP:在窗口的标题条包含一个问号标志。当用户点击了问号时,鼠标光标变为一个问号的指针、如果点击了一个子窗口,则子窗日接收到WM_HELP消息。子窗口应该将这个消息传递给父窗口过程,父窗口再通过HELP_WM_HELP命令调用WinHelp函数。这个Help应用程序显示一个包含子窗口帮助信息的弹出式窗口。 WS_EX_CONTEXTHELP不能与WS_MAXIMIZEBOX和WS_MINIMIZEBOX同时使用。
WS_EX_CONTROLPARENT:允许用户使用Tab键在窗口的子窗口间搜索。
WS_EX_DLGMODALFRAME:创建一个带双边的窗口;该窗口可以在dwStyle中指定WS_CAPTION风格来创建一个标题栏。
WS_EX_LEFT:窗口具有左对齐属性,这是缺省设置的。
WS_EX_LEFTSCROLLBAR:如果外壳语言是如Hebrew,Arabic,或其他支持reading order alignment的语言,则标题条(如果存在)则在客户区的左部分。若是其他语言,在该风格被忽略并且不作为错误处理。
WS_EX_LTRREADING:窗口文本以LEFT到RIGHT(自左向右)属性的顺序显示。这是缺省设置的。
WS_EX_MDICHILD:创建一个MD子窗口。
WS_EX_NOPATARENTNOTIFY:指明以这个风格创建的窗口在被创建和销毁时不向父窗口发送WM_PARENTNOTFY消息。
WS_EX_OVERLAPPED:WS_EX_CLIENTEDGE和WS_EX_WINDOWEDGE的组合。
WS_EX_PALETTEWINDOW:WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW和WS_WX_TOPMOST风格的组合WS_EX_RIGHT:窗口具有普通的右对齐属性,这依赖于窗口类。只有在外壳语言是如Hebrew,Arabic或其他支持读顺序对齐(reading order alignment)的语言时该风格才有效,否则,忽略该标志并且不作为错误处理。
WS_EX_RIGHTSCROLLBAR:垂直滚动条在窗口的右边界。这是缺省设置的。
WS_EX_RTLREADING:如果外壳语言是如Hebrew,Arabic,或其他支持读顺序对齐(reading order alignment)的语言,则窗口文本是一自左向右)RIGHT到LEFT顺序的读出顺序。若是其他语言,在该风格被忽略并且不作为错误处理。
WS_EX_STATICEDGE:为不接受用户输入的项创建一个3一维边界风格
WS_EX_TOOLWIDOW:创建工具窗口,即窗口是一个游动的工具条。工具窗口的标题条比一般窗口的标题条短,并且窗口标题以小字体显示。工具窗口不在任务栏里显示,当用户按下alt+Tab键时工具窗口不在对话框里显示。如果工具窗口有一个系统菜单,它的图标也不会显示在标题栏里,但是,可以通过点击鼠标右键或Alt+Space来显示菜单。
WS_EX_TOPMOST:指明以该风格创建的窗口应放置在所有非最高层窗口的上面并且停留在其L,即使窗口未被激活。使用函数SetWindowPos来设置和移去这个风格。
WS_EX_TRANSPARENT:指定以这个风格创建的窗口在窗口下的同属窗口已重画时,该窗口才可以重画。
由于其下的同属富日已被重画,该窗口是透明的。
IpClassName:指向一个空结束的字符串或整型数atom。如果该参数是一个整型量,它是由此前调用theGlobaIAddAtom函数产生的全局量。这个小于OxCOOO的16位数必须是IpClassName参数字的低16位,该参数的高位必须是O。
如果lpClassName是一个字符串,它指定了窗口的类名。这个类名可以是任何用函数RegisterClassEx注册的类名,或是任何预定义的控制类名。请看说明部分的列表。
lpWindowName:指向一个指定窗口名的空结束的字符串指针。
如果窗口风格指定了标题条,由lpWindowName指向的窗口标题将显示在标题条上。当使用CreateWindow
函数来创建控制例如按钮,选择框和静态控制时,可使用lpWindowName来指定控制文本。
dwStyle:指定创建窗口的风格。该参数可以是下列窗口风格的组合再加上说明部分的控制风格。
x:参见CreateWindow。
y:参见CreateWindow。
nWidth:CreateWindow。
nHeigth:参见CreateWindow。
hWndParent:参见CreateWindow。
hMenu:参见CreateWindow。
hlnstance:参见CreateWindow。
lpParam:参见CreateWindow。
返回值:参见CreateWindow。
备注:参见CreateWindow。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:USer32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" No Yes Yes
194 DPtoLP 将设备坐标转换位逻辑坐标 Yes Yes Yes
195 DdeAbandonTransaction 取消异步交互 No Yes Yes
196 DdeAccessData 访问DDE数据对象 No Yes Yes
197 DdeAddData 向DDE数据对象中加入数据 No Yes Yes
198 DdeClientTransaction 开始DDE数据事务 No Yes Yes
199 DdeCmpStringHandles 比较两个DDE字符串句柄 No Yes Yes
200 DdeConnect 建立与服务器的对话 No Yes Yes
201 DdeConnectList 建立多个DDE对话 No Yes Yes
202 DdeCreateDataHandle 建立DDE数据句柄 No Yes Yes
203 DdeCreateStringHandle 建立DDE字符串句柄 No Yes Yes
204 DdeDisconnect 终止DDE对话 No Yes Yes
205 DdeDisconnectList 取消DDE对话表列 No Yes Yes
206 DdeEnableCallback 使能或取消一个或多个DDE对话 No Yes Yes
207 DdeFreeDataHandle 释放DDE数据对象 No Yes Yes
208 DdeFreeStringHandle 释放DDE字符串句柄 No Yes Yes
209 DdeGetData 将数据从DDE数据对象中复制到缓冲区 No Yes Yes
210 DdeGetLastError 返回由DDEML函数设置的出错代码 No Yes Yes
211 DdeImpersonateClient DDE服务器模拟客户机 No Yes Yes
212 DdeInitialize 用DDEML登记应用程序 No Yes Yes
213 DdeKeepStringHandle 为字符串句柄增加可用记录 No Yes Yes
214 DdeNameService 登记取消服务器名称 No Yes Yes
215 DdePostAdvise 提示服务器向客户机发送建议数据 No Yes Yes
216 DdeQueryConvInfo 返回关于DDE对话的信息 No Yes Yes
217 DdeQueryNextServer 在对话表列中获得下一个句柄 No Yes Yes
218 DdeQueryString 将字符串句柄文本复制到缓冲区 No Yes Yes
219 DdeReconnect 重建DDE对话 No Yes Yes
220 DdeSetQualityOfService 指明服务的DDE质量 No Yes Yes
221 DdeSetUserHandle 将用户定义句柄与事务建立关联 No Yes Yes
222 DdeUnaccessData 释放DDE数据对象 No Yes Yes
223 DdeUninitialize 释放应用程序的DDEML资源 No Yes Yes
224 DebugActiveProcess 连接调试进程 No Yes Yes
225 DebugBreak 建立断点 Yes Yes Yes
226 DefDlgProc 提供缺省窗口消息进程 " 函数功能:该函数为属于应用程序定义的对话框类的窗口过程提供缺省的消息处理。
函数原型:LRESULT DefDlgProc(HWND hDlg,UINT Msg,WPARAM wParam, LPARAM Param);
参数:
hDlg:指定对话框。
Msg:指定消息数目。
wParam:指定消息中特定的其他信息。
Iparam:指定消息中特定的其他信息。
返回值:返回值指定消息处理的结果且依赖于发送的消息。
备注:DefDlgProc函数为对话枢预定义类的窗口应用程序。此应用程序通过把消息传送到对框应用程序和为对话框应用程序返回的任何一个FALSE消息,提供缺省处理而为对话框提供内部的处理程序。为自定义对话框创建自定义应用程序的应用程序,常用DefDlgProc而不是DefWindowProc函数来执行缺省的消息处理。应用程序通过用合适的信息来填充一个WNCLASS结构和通过用RegisterClass函数登记的类创建自定义对话框类。一些应用程序用GetClasslnfo函数指定与定义对话框的名来填充此机构。在这种情况下,应用程序在登记之前至少改变IpszClassNamede数目。在所有的情况下,对于自定义对话框的WNDCLASS的cbWndExtra成员一定至少设置为DLGWINDOWEXTRA。DefDlgProc函数一定不要通过一个对话框应用程序来调用,这样做会导致循环执行。
速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" Yes Yes Yes
227 DefDriverProc 定义缺省消息处理器 Yes Yes Yes
228 DefFrameProc 缺省MDI框架窗口消息进程 Yes Yes Yes
229 DefMDIChildProc 缺省MDI子窗口消息进程 Yes Yes Yes
230 DefWindowProc 调用缺省窗口过程 Yes Yes Yes
231 DeferWindowPos 更新窗口位置结构 " 函数功能:该函数为指定的窗口更新指定的多窗口位置结构,然后函数返回该更新结构的句柄。EndDeferWindowPos函数使用该结构内的信息同时改变一些窗口的位置和大小。该结构由BeginDeferWindowPos函数创建。
函数原型:HWND DeferWindowPos(HDWP hWinPoslnfo,HWND hWnd,HWND hWndlnsertAffer, int x,int y, int cx, int Cy,UNIT uFags);
参数:
hWinPoslnfo:多窗口定位结构的句柄,该结构包含着一个或多个窗口的尺寸和定位信息,可以由函数BeginDeterWindowPos返回该结构或是由最近一次调用的DeferWindowPos函数返回。
hWnd:窗口的句柄,该窗口的更新信息存储在结构中。
hWndlnsertAfter:被定位窗口的Z序的前一窗口的句柄。这个参数必须为窗口句柄或下列值之一:HWND_BOTTOM:将窗口定位在Z序的底部。如果hWnd参数指定的是一个最顶层窗口,则该窗口将失去顶级位置而被排在所有其他窗口的底部。
HWND_NOTOPMOST:将窗口放置在所有顶层窗口的顶部(即在所有顶层窗口的后面)。如果窗口已经是一个非顶层窗口则此参数不起作用。
HWND_TOP:将窗口放置在Z序的顶部。
HWND_TOPMOST:将窗口放置在所有非顶层窗口的顶部、即使未被激活,窗口仍保持顶级位置。如果在uFlagS参数中指定了SWP_NOZORDER标志则本参数将被忽略。
x:指定窗口左上角的X坐标。
y:指定窗口左上角的y坐标。
cx:以像素定义窗口的新的宽度。
cy:以像素定义窗口的新的宽度。
uelage:指定下列影响窗口的大小和位置的值的组合:
SWP_DRAWFRAME:在窗口周围画一个边框(该边框定义在窗口类的描述中)。
SWP_FRAMECHANGED:给窗口发送一个WM_NCCALCSIZE消息,即使窗口的尺寸不作改变也要发送。如果未指定这个标志,则只有窗口大小 改变时才发送WM_NCCALCSIZE消息。
SWP_HIDEWINDOW:隐藏窗口。
SWP_NOACTIVATE:不激活窗口。如果未指定这个标志,则窗口被激活并且根据hWndlnsertAfter参数的设置移到或是顶部窗口的顶部或是非顶部窗口的顶部。
SWP_NOMOVE;维持当前位置(忽略X和y参数)。
SWP_NOOWNERZORDER:不改变所有者窗口在Z序中的位置。
SWP_NOREDRAM:不作窗口更新。如果设定了这个标志,则不发生任何窗口刷新的动作。包括不对客户区,非客户区(包括标题条和滚动条),以及由于窗口移动露出的部分父窗口进行刷新。当设定了这个标志时,应用程序一定要明确指出将原窗口清除并且重画窗口的任何部分以及父窗口需要重画的部分。
SWP_NOREPOSITION:同 SWP_NOOWNERZORDER标志。
SWP_NOSENDCHANGING:防止窗口接受到WM_WINDOWPOSCHANGING消息。
SWP_NOSIZE;保持当前大小。(即忽略CX,Xy参数)。
SWP_NOZORDER:保持当前Z序(忽略hWndlnsertAfter参数)。
SWP_SHOWWINDOW:显示窗口。
返回值:返回值指明了被更新的多窗口定位结构。函数返回的句柄可能与传递给函数的句柄不同。这个函数返回的新句柄应在下一次调用时传递给DeferWindowPos函数和EndDeferWindowPos函数。如果调用函数时系统资源不足,则函数返回NULL。若想获得更多错误信息,请调用GetLastError函数。
备注:如果调用函数DeferWindowPos失败,应用程序应放弃窗口定位动作,并且不再调用EndDeferWindowPos 函数。如果未指定SWP_NOZORDER,系统将由hWnd参数指定的窗口定位于在hWndlnsertAfer参数指定的窗口之后的位置。如果hWndlnsertAfsr参数为空或为HWND_TOP,则系统将窗口放置在Z序顶端。如果hWndlnsertAfer设为HWND_BOTTOM则系统将窗口放置在Z序的底部。
所有子窗口的坐标都是相对于父窗口客户区的左上角的坐标。
一个窗口可以通过两种方式设为顶部窗口:或是设hWndlnsertAfter为HWND_TOPMOST并确保未设置SWP_NOZORDER标志;或是设置窗口在Z序中的位置使其在所有已存在的顶端窗口的顶部。当一个非顶端窗口被设为顶端窗口时,则属于它的窗口均被置为顶端窗口,而其所有者则不变。
如果SWP_NOACTIVATE或SWP_NOZORDER均未设置(即当应用程序要求在窗口被激活的同时改变其z序时),hwdfnsertPos参数只在下列情况中使用:
在hWndlnsertAfter参数中既未设定HWND_TOPMOST也未设定HWND_NoTTOPMOST标志; 由hWnd指定的窗口不是激活窗口;
应用程序在将窗口设为活动窗口时应将窗口设置到Z序的顶部。应用程序可以不受任何限制地改变被激活窗口在Z序中的位置,或在激活一个窗口之后将该窗口移到顶端窗口或非顶端窗口的顶部。
如果一个顶端窗口被重定位到Z序的底部(HWND_BOTTOM)或任何非顶端窗口后面时将不再是顶端窗口。
一个非顶端窗口可能拥有一个顶端窗口,反之则不成立。从属的任何窗口(例如一个对话框)都设置为顶层窗口以确保所有的从属窗口都在其所有者之上。
速查: Windows NT:3.1以上版本;Windows:95以上版本; Windows CE:不支持;头文件: winuser.h;库文件:user32.lib。
" Yes Yes Yes
232 DefineDosDevice 定义、重定义或删除DOS的设备名 No Yes Yes
233 DeleteAce 从已存在的ACL中删除ACE No Yes Yes
234 DeleteAtom 删除一个原子 Yes Yes Yes
235 DeleteColorSpace 删除指定色彩空间 No Yes Yes
236 DeleteCriticalSection 删除临界部分 No Yes Yes
237 DeleteDC 删除设备描述表 Yes Yes Yes
238 DeleteEnhMetaFile 取消增强图元文件句柄 No Yes Yes
239 DeleteFile 删除文件 No Yes Yes
240 DeleteForm 删除打印机窗体层差 No Yes Yes
241 DeleteMenu 删除菜单项 " 函数功能:该函数从指定菜单里删除一个菜单项。如果此菜单项打开了一个菜单或子菜单,则此函数销毁该菜单或子菜单的句柄,并释放该菜单或子菜单使用的存储器。
函数原型:BOOL DeleteMenu(HMENU hMenu,UINT uPosition,UINT uFlags);
参数:
hMenu:要被的修改菜单的句柄。
UPosition:指定将被删除的菜单项,按参数uFlagS确定的含义。
UFlags:确定参数UPosition加如何被解释。此参数可取下列值之一:
MF_BYCOMMAND:表示uPosition给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND为缺省的标志。
MF_BYPOSITION:表示uPosition给出菜单项基于零的相对位置。
返回值:如果函数调用成功,返回值非零;如果函数调用失败,返回值是零。若想获得更多的错误信息, 请调用GetLastError函数。
备注:只要一个菜单被修改,无论它是否被显示在窗口里,应用程序都应调用DrawMenubar。
速查:WihdowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:Winuser.h;输入库:user32.lib。
" Yes Yes Yes
242 DeleteMetaFile 取消WINDOWS图元文件句柄 Yes Yes Yes
243 DeleteMonitor 删除打印机监视器 No Yes Yes
244 DeleteObject 从内存删除一个对象 Yes Yes Yes
245 DeletePort 删除打印机端口 No Yes Yes
246 DeletePrintProcessor 删除打印机处理器 No Yes Yes
247 DeletePrintProvidor 删除打印机提供者 No Yes Yes
248 DeletePrinter 删除打印机服务器上的打印机 No Yes Yes
249 DeletePrinterConnection 删除与打印机的连接 No Yes Yes
250 DeletePrinterDriver 删除打印机驱动程序 No Yes Yes
251 DeleteService 从SC MANAGER数据库中删除服务 No Yes Yes
252 DeregisterEventSource 光闭事件句柄 No Yes Yes
253 DescribePixelFormat No Yes Yes
254 DestroyAcceleratorTable 取消加速键表 " 函数功能:撤消加速键表。该函数撤消一个加速键表。在关闭应用程序之前,必须使用该函数撤消所有由DestroyAcceleratorTable函数创建的加速键表。
函数原型: BOOL DestroyAcceleratorTable(HACCEL hAccel);
参数:
hAccdel:将被撤消的加速键表的句柄。该句柄必须己通过调用DestroyAcceleratorTable 函数而创建。
返回值:若函数调用成功,则返回非零值,若函数调用失败,则返回值为零。若要获得更多的错误信息,可以调用GetLastError函数。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:Windows.h;库文件:user32.lib。
" No Yes Yes
255 DestroyCaret 取消当前脱字号 " 函数功能:该函数清除插入标记的当前形状,从窗口中释放插入标记,并且删除屏幕上的插入标记。如果插入标记的形状是基于位图的,那么DestroyCaret不释放该位图。
函数原型:BOOL DestroyCaret(VOLD)
参数:无。
返回值:如果函数执行成功,则返回值非零:如果函数失败,则返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:只有当前任务中的窗口拥有插入标记时DestoryCaret才清除插入标记。如果插入标记不为当前任务中的窗口拥有,那么DestroyCaret不执行任何操作,并且返回FALSE。
系统为每个队列提供一个插入标记。只有当窗口有键盘焦点或窗口是活动的时候,才创建插入记号。窗口应该在键盘焦点消失或窗口变为不活动之前清除插入标记。
速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
256 DestroyCursor 取消CREATECURSOR建立的光标 " 函数功能:该函数销毁一个光标并释放它占用的任何内存,不要使用该函数去消毁一个共享光标。
函数原型:8OOL DestroyCUrsor(HCURSOR hCursor);
参数:
hCursor:要销毁的光标的句柄,该光标必须不在使用中。
返回值:如果成功,返回非零;如果失败,返回值为零,若想获得更多错误信息,请调用GetLastError函数。
备注:DestroyCursor函数销毁一个非共享的光标;不要用它销毁一个共享光标。一个共享光标只要调用它的模块仍在内存中,则该共享光标还是有效的,下面的函数可得到一个共享光标:LoadCursor;LoadCursorFromFile;LoadImage(如果使用LR-SHARED标志);
CopyImage(如果使用LR_COPYRETURORG标志并且hImags参数是一个共享光标)。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
257 DestroyIcon 取消由CREATEICON建立的图标 " 函数功能:该函数清除图标和释放任何被图标占用的存储空间。
函数原型:BOOL DestroyIcon(HICON hIcon);
参数:
hIcon:是要清除留标的句柄。该图标应处于未被使用状态。
返回值:如果函数成功,返回值是非零:如果函数失效,返回值是零。想获得更多的错误信息,请调用GetLastError函数。
备注:只有利用CreateIconIndirect函数创建的图标和光标才能调用DestroyIcon函数,不要使用该函数清除一个共享图标。只要调入它的模块存在于存储器中,共享图标就一直有效。下列函数可获取共享图标:LoadIcon;LoadImage(如果你使用LR_共享标记);copyImage(如果你使用LR_COPYRETURNORG而且hImage参数为共享目标)。
Windows CE:Destroylcon函数可以通过图标句柄调用,这些图标句柄来自于CreateIconIndirect,ExtractIconEx,LoadImage或LoadIcon函数。在调用DestroyIcon函数之后这些图标句柄变为无效。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
258 DestroyMenu 取消菜单并释放内存 " 函数动能:该函数销毁指定的菜单,并释放此菜单占用的存储器。
函数原型:BOOL DestroyMenu(HMENU hMenu);
参数:
hMenu:要销毁的菜单的句柄。
返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。
备注:一个应用程序在关闭之前,必须调用函数DestroyMenu来销毁一个没被分配给窗口的菜单。分配给窗口的菜单,当应用程序关闭时,被自动销毁。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。
" Yes Yes Yes
259 DestroyPrivateObjectSecurity 删除被保护的服务器对象的SD No Yes Yes
260 DestroyWindow 取消窗口 " 函数功能:是与函数EnumChildWindows一起使用的由应用程序定义的回调函数。它接收子窗口句柄。类型 WNDENUMOROC定义了指向这个回调函数的指针。EnumChildProc是一个应用程序定义的函数名的位置标志符。
函数原型:BOOL CALLBACK EnumChildProc(HWND hWnd,LPARAM IParam);
参数:
hWnd:指向在EnumChildWindows中定义的父窗口的子窗口句柄。
lparam:指定在EnumchildWindows中给出的应用程序定义值。
返回值:为继续列举,回调函数必须返回TRUE;为停止列举,回调函数必须返回FALSE。
备注:回调函数可以执行任何要求的任务。应用程序必须通过将其地址传送给EnumChildwindows函数来注册这个回调函数。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持:头文件:winuser.h;库文件:用户自定义。
" Yes Yes Yes
261 DeviceCapabilities 返回设备驱动程序的功能 No Yes Yes
262 DeviceIoControl 直接调用驱动程序 No Yes Yes
263 DialogBoxIndirectParam 从内存模块中建立对话框 " 函数功能:该宏根据内存中的对话框模板资源创建一个模态的对话框。DialogBoxIndirect宏直到指定的回调函数通过调用EndDialog函数中止模态的对话框才能返回。DiaogBoxIndirect宏使用DialogBoxParam函数。函数原型:int DialogBoxIndirect(HINSTANCE hInstance,LPDLGTEMPLATE IpTemplate,HWND hWndParent,DLGPROClpDialogFunc);
参数:
hInstance:标识一个模块的事例,该模块创建对话框。
IpTemplate:此参数指向含有一个模板的全局内存对象的指针。DialogBoxIndirect用此模板创建对话框。对话框模板由描述对话框的标题组成,跟随着标题之后的是描述每一个控制的一个或多个数据块,模板可以用标准格式或扩展格式。
在标准模板中,标题是由DLGTEMPLATE结构跟随一个变长数组组成。每个控制的数据是由DLGTEMPLATE结构跟随一个变长数组组成。
在扩展模板中,标题用DLGTEMPLATEEX格式,且控制定义用DLGITEMPLATEEX格式。
HWndParent:指定拥有对话框的窗口。
IpDialogFunc:指向对话框过程的指针。有关更详细的关于对话框过程的信息,请参见DialogProc。
返回值:如果函数调用成功则返回值为在对函数EndDialog的调用中的nResult参数,该EndDialog函数用于中止对话框。如果函数调用失败,则返回值为C1。 若想获得更多错误信息请调用GetLastError函数。
备注:DialogBoxlndirect宏使用CreateWindowEx函数创建对话枢.然后把一个WM_INITDIALOG消息传递到对话框过程。如果模板指定DS_SETFONT类型DialogBoxlndirect函数将一个WM_SETFONT消息传递到对话框。(不管模板是否指定WS_VISIBLE类型),函数显示对话框使属主窗口失效,且为对话框启动它本身的消息循环来检索和传递消息。
当对话框应用程序调用EndDialog 函数时,DialogBoxlndirect函数清除对话框,中止消息循环,使主窗口生效(如果以前有效)且返回EndDialog函数调用中的nResult参数。
在标准对话框模板中,DLGTEMPLATE结构和每一个DLGITEMTEMPLATE结构必须按DWORD边界对齐,遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。
在扩展对话框模板上DLGTEMPLATEEX结构和每一个DLGITEMTEMPLATEEX结构必须按DWORD边界对齐,遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。
所有对话框模板的字符串,例如对话框和按钮的标题,一定是Unicode字符串。使用
MultiByteToWidechar函数产生这些Unicode字符串可以创建在Windows和Windows NT两种系统上工作的代码。
Windows 95和以后版本:系统可支持每个对话框模板最多为255个控制。为把多于255个控制放入对话框。可以在WM_INITDLAIOG消息处理器中创建控制,而不是把它们放入模板中。
Windows CE:IpTemplateName参数指向的对话框模板中DLGTEMPLATE结构并不支持所有的类型。
速查:Windows NT:3.1 及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:Winuser.h;库文件:user32.lib Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" No Yes Yes
264 DisableThreadLibraryCalls No Yes Yes
265 DisconnectNamedPipe 切断命名管道的服务器终端 No Yes Yes
266 DispatchMessage 向窗口发送消息 " 函数功能:该函数调度一个消息给窗口程序。通常调度从GetMessage取得的消息。
函数原型:LONG DispatchMessage(CONST MSG *lpmsg);
参数:
lpmsg:指向含有消息的MSG结构的指针。
返回值:返回值是窗口程序返回的值。尽管返回值的含义依赖于被调度的消息,但返回值通常被忽略。
备注:MSG结构必须包含有效的消息值。如果参数lpmsg指向一个WM_TIMER消息,并且WM_TIMER消息的参数IParam不为NULL,则调用IPa1ram指向的函数,而不是调用窗口程序。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib;Unicode:在Windows NT环境下以Unicode和ANSI方式实现。
" Yes Yes Yes
267 DlgDirList 填充目录列表框 " 函数功能:该函数用与指定的文件名匹配的所有文件的名字填充列表框。
函数原型:int DlgDirList(HWND hDlg,LPTSTR lpPathSpec,int nlDListBox,int nlDStaticPath,UINT uFileType);
参数:
hDlg:包含列表框的对话框句柄。
loPathSpec:指向包含路径名或文件名的以NULL结尾的字符串指针。DIgDirList修改此串,该串必须有足够的长度来保存修改的内容。关于此参数的更详尽的信息,请看备注部分。
nlDListBox:定义一个列表框的标示。如果该参数为0,DlgDirList函数认为没有列表框存在,也不试图填充。
nlDStaticPath:定义用于显示当前驱动器和目录的静态控制的标识符。若此参数为0,DlgDirList认为不存在这样的控制。
UFileType:定义将要显示的文件名字的属性。该参数必须是一个或多个如下的值:
DDL_ARCHIyE:包含文档文件。DDL_DIRECTORY:包含于目录。于目录名包含在方括号中。
DDL_DRIVES:包含驱动器。驱动器以[一X」的形式列出,其中X是驱动器符。
DDL_EXCLUSIVE:仅包含指定属性的文件。缺省情况下,可读写的文件将被列出,尽管并未指定DDL_READWRITE值。DDL_HIDDEN:包含隐含文件。
DDL_READONLy:包含只读文件。DDL_READWRITE:包含没有其他附加属性的可读写文件。
DDL_SYSTEM:包含系统文件。DDL_POSTMSGS:传递消息给应用程序的消息队列。缺省情况下,DlgDirList直接发送消息给对话框过程。
返回值:若函数调用成功,则返回值不为0。若函数调用失败,则返回值为0。例如,lpPathSpec定义的串不是一个有效路径时,函数将失败。若想获的错误信息,可以调用GetLastError函数。
备注:若对于lpPathSpec参数定义了一个0长度的串,或者仅定义了一个目录名,而没有文件名,则串被转换为‘.’。
lpPathSgec参数有如下形式:[drive:][/u]directory[/idirectory]/u][filename]
在这个例子中,drive是一个驱动器符,directory是一个有效的驱动器名,filename是一个有效的文件名,文件名中必须包含至少一个通配符。
若lpPathSpec包含一个驱动器或目录名,或同时包含两者,则在列表框被填充以前,当前的驱动器和目录将被改变为指定的驱动器和目录。nlDStaticPath参数标识的静态控制也被用新的驱动器或/和目录名来更新。
列表框填充以后,DlgDirList通过移去路径和文件名的驱动器和/或目录部分来更新lpPathSpec参数。
DlgDirList发送LB_RESETCONTENT和LB_DIR消息给列表框。
速查:Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
" Yes Yes Yes
268 DlgDirListComboBox 填充目录列表框 " 函数功能:该函数用一个目录列表来填充指定的组合框
函数原型:int DlgDirListComboBox(HWND hDlg,LPTSTR lpPathSpec,int nlDComboBox,int nlDStaticPath,UINT uFiletype);
参数:
hDlg:包含组合框的对话框句柄。
lpPathSpec:指向一个以NULL结束的字符串,格式为 [driver][/][directory/][.][filename]
如果指定的串包括一个驱动器或目录路径,在填充列表之前,DlgDirListComboBox函数改变当前驱动
器和目录。在列表被填充之后,驱动器和目录路径从lpPathspec参数标识的串中移出来。
nlDComboBox:指定对话框中组合框的标识符。如果hlDComboBox为零,则DlgDirlistComboBox函数没有组合框存在或不试图填充它。
hlDStatic Path:指定静态控制的标识符,此静态控制用于显示当前目录。如果nlDStasticPath为零,DlgDirListComboBox函数认为没有这样的控制。
uFiletype:指定被显示的文件的属性。它可以是下列的任意组合:
DDL_ARDIVE:包括档案文件。
DDL_DIRECTORY:包括子目录,子目录名必须用方括号括起来([])。
DDL_DRIVES:包括驱动器,驱动器列在格式[-X-]中,其中X为驱动器字母名。
DDL_EXCIUSIVE:包括仅带指定属性的文件,缺省时,写保护文件被引出,即使DDL_READ WRITE没有被指定。
DDL_HIDBEN:包括隐含文件。DDL_READONLY:包括只读文件。
DDL_READWRITE:包括读写文件且不带有别的属性。DDL_SYSTEM:包括系统文件。
DDL_POSTMSGS:把信息传递到应用信息队列,缺省时,DlgDirlist函数把信息直接发送给对话框过程。
返回值:如果函数调用成功,返回值为非零值,否则返回值为零。例如,如果tpPatbSpec指定的串不是一个有效路径,函数调用失败。若想获得更多错误信息,请调用GetLastError函数。
备注;如果参数lpszPatbSpec指向一个零字节串或一个指定驱动器目录,或两者的串,但没有文件名,那么认为文件名为"".""。
Windows NT:如果有目录列表的话,则显示长文件名。
Windows 95:目录列表显示短文件名(为8.3形式)。可以用SHGetFilelnfo或GetFullPathName函数来得到相应的长文件名。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib:Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。
" Yes Yes Yes
269 DlgDirSelectComboBoxEx 从目录列表框中返回用户选择 " 函数功能:该函数从由DlgDirlistcomboBox函数填充的组合框中检取当前选择。选择内容为一个驱动器字母、文件名或目录名。
函数原型:BOOL DlgDirSelectComboBox(HWND hDlg,LPTSTR lpString,int nCount,int nlDComboBox);
参数:
hDlg:包括组合框的对话框的句柄。
IpString:指向存放选择路径的缓冲区。
nCount:指定IpString参数指向的缓冲区的字节长度。
nlDComboBox:指定控制对话框的组合框的整型标识符。
返回值:如果当前选择为一个目录名,返回值为非零值;否则,返回值为零值。若想获得更多错误信息,请调用GetLastError函数。
备注:如果当前选择指定于一个目录名或驱动器字母,DlgDirSelectComboBoxEx函数则删方括号(对驱动器字母则删除破折号),以便使文件名或驱动器字母能插入新的路径或文件名,如果没有选择,IpString参数指向的缓冲区的内容没有改变。DlgDirselectComboBoxEx函数不允许从组合框返回多于一个的文件名。
DlgDirSectectComboBoxEx把消息CB_GETCILRSEL和CB_GETLBTEXT发送到组合框。在Win32API中,可应用带有三种组合框的DlgDirSelectComboBoxEx函数(三种组合框为CBS_SIMPLE,CBS_DROPDOWN,与CBS_DROPDOWNLIST)。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。
" Yes Yes Yes
270 DlgDirSelectEx 从目录列表框中返回用户选择 " 函数功能:该函数从单选列表框中检取当前选择,列表框已经由DlgDirlist函数填充,并且选择内容为一个驱动器字母,文件名或目录名。
函数原型:BOOL DlgDirSelectEx(HWND hDlg,LPTSTR lpString,int nCount,int nlDListBox);
参数:
hDlg:包括列表框的对话框句柄。
lpString:指向存放选择路径的一个缓冲区。
ncount:指定由lpString指向的缓冲区的字节长度。
nlDListBox:指定对话框中列表框的整型标识符。
返回值:如果当前选择为目录名,返回值为非零值。如果当前选择不是一个目录名,返回值为零,若想获得更多错误信息,请调用函数GetLastError函数。
备往:DlgDirSelectEx函数把选择复制到由IpString参数指向的缓冲区,如果当前选择是一个目录名或驱动器字母,DlgDirSelectEx则删除方括号(对于驱动器字母,则删去破折号)。这样以便目录名或驱动器字母能插入一个新的路径。如果没有选择,lpString不改变。 DlgDirSelectEx函数把消息LB_GETCURSEL和消息LB_GETTEXT发送到列表框,函数禁止从列表框返回多于一个的文件名。列表框不应是复选的列表框,如果是的话,此函数不返回零值且Ipstring参数保持不变。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。
" Yes Yes Yes
271 DoEnvironmentSubst No Yes Yes
272 DocumentProperties 配置打印机设置 No Yes Yes
273 DosDateTimeToFileTime 将MS-DOS日期时间转换为64位格式 No Yes Yes
274 DragAcceptFiles 登记窗口是否接受托动文件的内容 No Yes Yes
275 DragDetect 捕获并跟踪鼠标的移动直到用户松开左键、按下Esc " 函数功能:该函数捕获并跟踪鼠标的移动直到用户松开左键、按下Esc。键或者将鼠标移动到围绕指定点的“拖动矩形”之外。拖动矩形的宽和高由函数GetSystemMetrics返回的SM_CXDRAG或SM_CYDRAG确定。
函数原型:BOOL DragDetect(HWND hwnd,POINT pt);
参数:
hwnd:接受鼠标输入的窗口的句柄。
pt:鼠标在屏幕坐标下的初始位置,此函数根据这个点来确定拖动矩形的坐标。
返回值:如果用户在按着鼠标左键时将鼠标移出了拖动矩形之外,则返回非零值;如果用户按着鼠标左键在拖动内移动鼠标,则返回值是零。
备注:拖动矩形的系统度量是可构造的,允许更大或更小的拖动矩形。
速查:Windows NT: 4.0及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib。
" No Yes Yes
276 DragFinish 释放分配用于托动文件的内容 No Yes Yes
277 DragObject No Yes Yes
278 DragQueryFile 返回托动的文件名 No Yes Yes
279 DragQueryPoint 返回鼠标位置 No Yes Yes
280 DrawAnimatedRects No Yes Yes
281 DrawCaption No Yes Yes
282 DrawEdge No Yes Yes
283 DrawEscape 实现非GDI可画图设备方法 No Yes Yes
284 DrawFocusRect 用焦点风格画矩形 Yes Yes Yes
285 DrawFrameControl No Yes Yes
286 DrawIcon 在指定设备描述表中画一个图标 " 函数功能:该函数在限定的设备上下文窗口的客户区域绘制图标。
函数原型:BOOL DrawIcon(HDC hDC,int X,nit Y HICON hIcon );
参数:
hDC:窗口设备上下文的句柄。
X:指定图标左上角的逻辑X坐标。
Y:指定图标左上角的逻辑y坐标。
hIcon:被绘制图标的句柄。图标资源必须已经通过LoadIcon或LoadImage函数被装载过。
返回值:如果函数成功,返回值是非零;如果函数失效,返回值是零。想获得更多的错误信息,请调用GetLastError函数。
备注:DrawIcon函数将目标的左上角置于由X和Y参数指定的位置,该位置受当前设备上下文的映射方式支配。
Windows CE:DrawIcon函数被当做宏执行,定义为DrawIconEx(hdc,x,y, hicon,0,0,0,NULL,DI_NORMAL)。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes
287 DrawIconEx 在限定的设备上下文窗口的客户区域绘制图标 " 函数功能:该函数在限定的设备上下文窗口的客户区域绘制图标,执行限定的光栅操作,并按特定要求伸长或压缩图标或光标。
函数原型:B00L DrawIconEx(HDC hdc,int xLeft,int yTOp,HICON hIcon,int cxWidth,int cyWidth UINT isteplfAniCur,HBRUSH hbrFlickerFreeDraw,UINT diFlags);
参数:
hdc:窗口设备上下文的句柄。
xLeft:指定目标或光标左上角的逻辑x坐标。
yTop:指定图标或光标左上角的逻辑y坐标。
hIcon:被绘制图标的句柄,该参数可标识一个激活的光标。图标或光标资源必须已经通过LoadImage函数被装载过。这参数能识别激活的光标。
cxWidth:指定图标或光标的逻辑宽度。如果其值为零且diFlags参数是DI_DEFAULTSIZE;函数使用SM_CXICON或_CXCURSOR系统公制值设置宽度;如果其值为零且不使用DI_DEFAULTSIZE,函数使用资源实际宽度。
cyWidth:指定图标或光标的逻辑高度。如果其值为零且diFlags参数是DI_DEFAULTSIZE,函数使用SM_CYICON或SM_CYCURSOR系统公制值设置高度;如果其值为零且不使用DI_DEFAULTSIZE,函数使用资源实际高isteplfAniCur:如果hlcon标识一个动态光标,参数指定要绘制的帧索引;如果hlcon不标识一个动态光标,该参数被忽略。
hbrFlickerFreeDraw:系统用做闪烁·自由绘图的刷子句柄。如果hbrFlickerFreeDraw是有效的刷子句柄,系统利用背景颜色刷于创建一个反屏位图将图标或光标绘制到位图中,并将位图复制到由hdc。标识的设备上下文中。
diFlags:指定绘图的标记,参数可为下列的值:
DI_COMPAT:系统采用缺省图像而不是用户定义的图像绘制图标和光标。
DI_DEFAULTSIZE:如果CXWidth和CyWidth参数被设为零,采用系统指定的图标和光标的的公制宽度和高 度绘制图标和光标;如果标记未被指定且cxWidth和cyWith参数设为零标,函数使用资源实际大小。
DI_IMAGE:用图像绘制目标或光标。DI_MASK:用屏蔽绘图图标或光标。
DL_NORMAL:DI_IMAGE 与DI_MASKR的组合。
返回值:如果函数成功,返回值是非零;如果函数失效返回值是零。想获得更多的错误信息请调用GetLastError函数。
备注:DrawIconEx。函数将图标的左上角置于由xLeft和yTop参数指定的位置,该位置受当前设备上下文的映射方式支配。
Windows CE:下列的参数设置必须被使用:
djFlags必须是DI_NORMAL,DI_IMAGE,或DI_MASK(不支持DI_COMPAT and DI_DEFAULTSIZE)。
cxWidth和cyHeight必须是零或图标的原始尺寸。hbrFlickerFreeDraw必须是NULL。
iSteplfAniCur必须是零,动态图标不被支援。Windows CE不支援:伸长的和压缩:也就是说该图标分辨率对给定的HICON是固定的,不支持国标大小的再调整。映射方式:用DrawIconEx绘制光标时,hIcon参数不能标识动态光标。
速查:WindowsNT:31及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。
" No Yes Yes
288 DrawMenuBar 重画指定菜单的菜单条 " 函数功能:该函数重画指定菜单的菜单条。如果系统创建窗口以后菜单条被修改,则必须调用此函数来画修改了的菜单条。
函数原型:BOOL DrawMenuBar(HWND hWnd);
参数:
hWnd:其菜单条需要被重画的窗口的句柄。
返回值:如果函数调用成功,返回非零值:如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。
速查:Windows NT:及以上版本;Windows:95及以上版本;Windows:2.0及以上版本;头文件:winuser.h;输入库:user32.lib。
" Yes Yes Yes
289 DrawState No Yes Yes
290 DrawText 在矩形中画出已格式化文本 Yes Yes Yes
291 DrawTextEx No Yes Yes
292 DrvGetModuleHandle 获得可安装驱动程序的例子句柄 No Yes Yes
293 DuplicateHandle 复制对象句柄 No Yes Yes
294 DuplicateIcon No Yes Yes
295 DuplicateToken 复制访问令牌 No Yes Yes
296 Ellipse 画椭圆 Yes Yes Yes
297 EmptyClipboard 清空剪贴板并释放数据句柄 Yes Yes Yes
298 EnableMenuItem 使能、取消或使菜单项不可激活 " 函数功能:该函数使指定的菜单项有效、无效或变灰。
函数原型:BOOL EnableMenuItem(HMENU hMenu,UINT uIDEnablttem,UINT uEnable);
参数
hMenu:菜单句柄。
uIDEnableItem:指定将使其有效、无效或变灰的菜单项,按参数uEnable确定的含义。此参数可指定菜单条、菜单或子菜单里的菜单项。
uEnable:指定控制参数uIDEnableItem如何解释的标志,指示菜单项有效、无效或者变灰。此参数必须是MF_BYCOMMAND或MF_BYPOSITION,MF_ENABLED和MF_DISABLE或MF_GRAYED的组合。
MF_BYCOMMAND:表明参数uIDEnableItem给出了菜单项的标识符。如果MF_BYCOMMAND和MF_POSITION都没被指定,则MF_BYCOMMAND为缺省标志。
MF_BYPOSITION:表明参数uIDEnableItem给出了菜单项的以零为基准的相对位置。
MF_DISABLED:表明菜单项无效,但没变灰,因此不能被选择。
MF_ENABLED:表明菜单项有效,并从变灰的状态恢复,因此可被选择。
MF_GRAYED:表明菜单项无效并且变灰,因此不能被选择。
返回值:返回值指定菜单项的前一个状态(MF_DISABLED,MF_ENABLED或MF_GRAYED)。如果此菜单项不存在,则返回值是OXFFFFFFFF。
备注:一个应用程序必须用MF_BYPOSITION来指定正确的菜单句柄。如果菜单条的菜单句柄被指定,顶层菜单项(菜单条上的菜单项)将受到影响。若要根据位置来设置下拉菜单中的菜单项或子菜单的状态,应用程序指定下拉菜单或子菜单的句柄。当应用程序指定MF_BYCOMMAND标志时,系统在由指定菜单句柄标识的菜单里选取那些打开了子菜单的菜单项。因此除非要复制菜单项,指定菜单条的句柄就足够了。函数InsertMenu,InsertMenuItem,LoadMenuIndirect,ModifyMenu和SetMenuItemInfo也可设置菜单项的状态(有效、无效或变灰)。WindowsCE:WindowsCE不支持参数uEnable取MF_DISABLED标志。如果没有变灰,菜单项不能无效。要使菜单项无效,用MF_RAYED标志。
速查:WindowsNT:3.1及以上版本;Windows:95的及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。
" Yes Yes Yes
299 EnableScrollBar 使能、取消滚动条 No Yes Yes
300 EnableWindow 设备窗口使能状态 " 函数功能:该函数允许或禁止指定的窗口或控制接受鼠标输入或键盘输入。当输入被禁止时窗口不能接收鼠标单击和按键等类输入;当输入允许时,窗口接受所有的输入。
函数原型:BOOL EnableWindow(HWND hWnd,BOOL bEndble):
参数:
hWnd:允许或禁止的窗口句柄。
bEnable:指定是允许还是禁止窗口。如果这个参数为TRUE,窗口允许;如果参数为FALSE,则窗口被禁止。
返回值:如果窗口此前曾被禁止,则返回值为非零;如果窗口此前未被禁止,则返回值为零。若想获得更多错误信息,请调用 GetLastError函数。
备注:如果窗口的使能状态正在改变,则在EnableWindow函数返回前发送一个WM_ENABLE消息。如果窗口己经被禁止,则它的所有子窗口都被禁止,即使未向它们发送WM_ENABLE消息。
在一个窗口被激活前必须是使能的。例如,如果应用程序正在显示一个无模式对话框并且禁止了它的主窗口,则应用程序在销毁对话框之前一定要使能该主窗口。否则,将有另外一个窗口接受键盘焦点并且被激活。如果一个子窗口被禁止,则在系统确定由哪一个窗口接受鼠标消息时该子窗口将被忽略。
当窗口被创建时缺省为使能状态。要创建一个初始被禁止的窗口,应用程序可以在CreateWindowh 函数和CreateWindowhEx中指定WS_DISABLED风格。在窗口被创建后,应用程序可以使用EnaoleWindow函数来使能和禁止窗口。
应用程序可以使用这个函数来使能或禁止在对话框内的控制。一个被禁止的控制不能接受键盘焦点用户也不能进入该控制。
速查:Windows NT:3.1以上版本;Windows:95以上版本; Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib。
" Yes Yes Yes