Win32 API 列表5 (格式有点乱)

来源:互联网 发布:php usleep毫秒 编辑:程序博客网 时间:2024/04/29 22:35

西安邮电学院 徐兆元

1201 SetBoundsRect 控制相邻矩形重叠  Yes Yes Yes
1202 SetBrushOrgEx 设置当前刷子的起点  No Yes Yes
1203 SetCapture 设置鼠标捕获 "    函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。

    函数原型:HWND SetCapture(HWND hWnd);

    参数:

    hWnd:当前线程里要捕获鼠标的窗口句柄。

    返回值:返回值是上次捕获鼠标的窗口句柄。如果不存在那样的句柄,返回值是NULL。

    备注:只有前台窗口才能捕获鼠标。如果一个后台窗口想捕获鼠标,则该窗口仅为其光标热点在该窗口可见部份的鼠标事件接收消息。另外,即使前台窗口已捕获了鼠标,用户也可点击该窗口,将其调入前台。当一个窗日不再需要所有的鼠标输入时,创建该窗口的线程应当调用函数ReleaseCapture来释放鼠标。此函数不能被用来捕获另一进程的鼠标输入。

    Windows 95:调用SetCaptune会引起失去鼠标捕获的窗口接收一个WM_CAPTURECHANGED消息。

    速查:头文件:Winuser.h:输入库:user32.lib。
" Yes Yes Yes
1204 SetCaretBlinkTime 设置脱字号闪烁时间 "    函数功能:该函数将插入标记的闪烁时间设置为一个指定的数目,该数目的单位为毫秒,闪烁时间就是转化插入标记像素所需的时间,单位为毫秒。

    函数原型:BOOL SetCaretBlinkTime(UINT uMSeconds);

    参数:

    uMSeconds:指定新的闪烁时间,时间单位为毫秒。

    返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。

    备注:用户可以使用控制面板来设置闪烁时间。应用程序应遵守用户的设置。只有允许用户设置闪烁时间的应用程序(例如控制面板)才应该使用SetCaretBlinkTime函数。

    如果改变了闪烁时间,那么后续激活的应用程序会使用修改后的闪烁时间,即使在键盘焦点消失或为非活动时,恢复前一个闪烁时间值,这是由于多线程环境的缘故,在这种环境中,禁止使用一个应用程序与激活另一个应用程序并不同步。这种特性允许系统即使在当前应用程序挂起时也可以激活另一个应用程序。

    对于Windows CE:在Windows CE系统中,在一个应用程序中改变插入标记的闪烁时间不会影响后续加载的应用程序中的闪烁时间。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1205 SetCaretPos 设置脱字符位置 "    函数功能:该函数将插入标记移动到指定的坐标上。如果拥有该插人标记的窗口是使用CS_OWNDC类样式创建的,那么指定的坐标依据与该窗口相关的设备环境的映射模式而定。

    函数原型:BOOL SetCaretPos(int X,int Y);

    参数:

    X:指定插入标记新的X坐标。

    Y:指定插入标记新的Y坐标。

    返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。

    备注:函数SetCaretPos不管插入标记是否隐藏都将移动它。系统为每个队列提供一个插入标记。窗口只能对自己拥有的插入标记进行位置的设置。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本:头文件:Winuser.h;库文件:user32.lib。

" Yes Yes Yes
1206 SetClassLong 设置附加类内存长数值 "    函数功能:该函数替换在额外类存储空间的指定偏移地址的32位长整型值,或替换指定窗口所属类的WNDCLASSEX结构。

    函数原型:DWORD SetClassLong(
               HWND hWnd,        // handle of window
               int nIndex,       // index of value to change
               LONG dwNewLong    // new value
              );

    参数:

    hWnd:窗口句柄及间接给出的窗口所属的类。

    nIndex:指定将被替换的32位值。在额外类存储空间中设置32位值,应指定一个大于或等于0的偏移量。

    有效值的范围从0到额外类的存储空间的字节数一4;例如,若指定了12位或多于12位的额外类存储空间,则应设为第三个32位整数的索引位8。要设置WNDCLASSEX结构中的任何值,指定下面值之一:

    GCL_CBCLSEXTRA:设置与类相关的尺寸的字节大小。设定该值不改变己分配的额外字节数。

    GCL_CBWNDEXTRA:设置与类中的每一个窗口相关的尺寸的字节大小。设定该值不改变已分配额外字节数。查看如何进入该内存,参看SetWindowLOng。

    GCL_HERBACKGROUND:替换与类有关的背景刷子的句柄。

    GCL_HCURSOR:替换与类有关的光标的句柄。GCL_HICON:替换与类有关的图标的句柄。

    GCL_HMODULE:替换注册类的模块的句柄。GCL_STYLE:替换窗口类的风格位。

    CGL_MENUNAME :替换菜单名字符串的地址。该字符串标识与类有关的菜单资源。

    GCL_WNDPROC :替换与窗口类有关的窗口过程的地址。

    dwNewLong:指定替换值。

    返回值:如果函数成功,返回值是指定的32位整数的原来的值;如果未事先设定,返回值为0。如果函数失败,返回值为0。若想获得更多错误信息,请调用GetLastError函数。

    备注;如果使用SetClassLong函数和GCL_WNDPROC索引值来替换窗口过程,窗口过程必须与WindowProccallback函数中的描述的guideline一致。

    以带GCL_WNDPROC索引值的SetClassLong函数创建的一个窗口类的的子类将会影响所有随后以该类创建的窗口。应用程序可以创建一个系统类的子类,但是不能创建由其他进程创建的类的子类。

    通过使用RegisterClassEx函数将WNDCLASSEX结构中的cbWndExtra单元指定为一个非零值来保留额外的的类存储空间。

    小心使用SetClassLong函数。例如,可以通过使用SetClassLong来改变类的背景颜色,但是这个改变Windows CE:nlndex参数是一个字节偏移量但必须是4的倍数。Unaligned不支持。

    不支持在nlndex参数中的标准的CGL_*值,只有一个例外,如果目标设各支持鼠标,则可以在nlndex参数中指定CGL_HCURSOR。

    注意:支持鼠标的WindowsCE版本包含Iconcurs和Mcursor组件而不是Icon和Cursor组件。

    速查:Windows NT:3.1以上版本:Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT 上实现为Unicode和ANSI两种版本。

" Yes Yes Yes
1207 SetClassWord 设置附加类内存字数值 "    函数功能:该函数替换指定窗口所属的窗口类的额外存储空间中的指定偏移地址的16位值。由16位窗口支持的GCW_值己经过时,必须使用SetClassLong函数来设置此前使用SetClassword函数的GCW_值设置的类值。

    函数原型:WORD SetClassWord(HWND hWnd, int nIndex, WORD wNewWord);

    参数:

    hWnd:窗口的句柄及间接给出的窗口所属的类。

    nIndex:指定要获得的值的大于等于0字节的偏移量。有效值为从0开始到额外类存储空间字节数-2。

    例如,若指定了10位或更多的额外类存储空间,则应设为第5个16位整数的索引位8。

    wNewWord:指定替换值。

    返回值:如果函数成功,返回值是指定的16为整数的原来的值。如果该值未被预先设定,返回值为0。如果函数失败,返回值为0。若想获得更多错误信息,请调用GetLastError函数。

    备注:通过使用函数RegisterClassEx将结构WNDCLASSEX中的cbClsExtra单元指定为一个非0值来保留额外类的存储空间。

" Yes Yes Yes
1208 SetClipboardData 设置剪贴板中数据  Yes Yes Yes
1209 SetClipboardViewer 在CLIPBOARD浏览器链中加入窗口  Yes Yes Yes
1210 SetColorAdjustment 调整颜色  No Yes Yes
1211 SetColorSpace 设置颜色空间  No Yes Yes
1212 SetCommBreak 挂起字符传送  Yes Yes Yes
1213 SetCommConfig   No Yes Yes
1214 SetCommMask 设置通信事件屏蔽  No Yes Yes
1215 SetCommState 设置通信设备状态  Yes Yes Yes
1216 SetCommTimeouts 设置通信读写时间范围  No Yes Yes
1217 SetComputerName 设置当前计算机名称  No Yes Yes
1218 SetConsoleActiveScreenBuffer 改变显示屏幕缓冲区  No Yes Yes
1219 SetConsoleCP 设置控制台输入代码页  No Yes Yes
1220 SetConsoleCtrlHandler 设置控制台进程的单个句柄  No Yes Yes
1221 SetConsoleCursorInfo 设置控制台光标大小  No Yes Yes
1222 SetConsoleCursorPosition 设置控制台光标位置  No Yes Yes
1223 SetConsoleMode 设置控制台输入输出模式  No Yes Yes
1224 SetConsoleOutputCP 设置控制台输出代码页  No Yes Yes
1225 SetConsoleScreenBufferSize 改变屏幕缓冲区大小  No Yes Yes
1226 SetConsoleTextAttribute 设置屏幕文本属性  No Yes Yes
1227 SetConsoleTitle 设置控制台窗口标题字符串  No Yes Yes
1228 SetConsoleWindowInfo 设置控制台窗口大小  No Yes Yes
1229 SetCurrentDirectory 改变当前目录  No Yes Yes
1230 SetCursor 改变鼠标指针 "    函数功能:该函数确定光标的形状。

    函数原型:HCURSOR SetCursor(HCURSOR hCursor);

    参数:

    hCursor:光标的句柄,该光标由CreateCursor函数载入。如果该参数为NULL,则该光标从屏幕上移开。在Windows95中该光标的宽和高是GetSysfemMefirics 函数的返回值SM_CXCURSOR和观_CYCURSOR,并且光标的位深必须和显示器的位深相匹配,或者光标是单色的。

    返回值:如果有前一个光标,则返回值是前光标的句柄;如果没有前光标,则返回值是NUL。

    备注:仅当新光标与前光标不同时,才设置该光标,不然的话,该函数立即返回。该光标是一个共享资源。一个窗口仅当光标在其客户区域,或者它正在捕捉鼠标输入时,它才设置光标的形状。在一个没有鼠标的系统中,该窗口在光标离开它的客户区域或它要把控制权交给其他窗口之前,它会恢复以前的光标。 如果应用程序必须在窗口中设置光标,必须确保指定窗口类的类光标被设为NULL,如果类光标不是NULL,则每次移动鼠标时,系统都要恢复类光标。如果内部的光标显不计数值小于零,则光标不在屏幕上显示。当一个应用程序使用ShowCursor函数隐藏光标的次数多于显示光标的次数时,则会发生这种情况。Windows CE:当一个目标平台不支持鼠标光标时,使用cursor光标组件,该光标组件仅支持等待光标,设置等待光标,使用如下的代码:SetCursor(LoadCursor(NULL,IDC_WAIT));当一个目标平台不支持鼠标光标时,使用mcursor光标组件。该组件不支持彩色光标。

    速查:WindowNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1231 SetCursorPos 把鼠标指针移到屏幕的指定位置 "    函数功能:该函数把光标移到屏幕的指定位置。如果新位置不在由 ClipCursor函数设置的屏幕矩形区域之内,则系统自动调整坐标,使得光标在矩形之内。

    函数原型:BOOL SetCursorPOS(int X, int Y);

    参数:

    X:指定光标的新的X坐标,以屏幕坐标表示。

    Y:指定光标的新的Y坐标,以屏幕坐标表示。

    返回值:如果成功,返回非零值;如果失败,返回值是零,若想获得更多错误信息,请调用GetLastError函数。

    备注:该光标是共享资源,仅当该光标在一个窗口的客户区域内时它才能移动该光标。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1232 SetDIBColorTable   No Yes Yes
1233 SetDIBits 设置位图位  Yes Yes Yes
1234 SetDIBitsToDevice 设置DIB位到设备  Yes Yes Yes
1235 SetDebugErrorLevel 设置调试事件出错等级  No Yes Yes
1236 SetDefaultCommConfig   No Yes Yes
1237 SetDeviceGammaRamp 设置辉等级  No Yes Yes
1238 SetDlgItemInt 将整数转换为对话框文本字符串 "    函数功能:该函数把对话框中一个控制的文本设置为用一个指定整型值的字符串表示。

    函数原型:BOOL SetDlgItemInt(
               HWND hDlg,        // handle of dialog box
               int nIDDlgItem,   // identifier of control
               UINT uValue,      // value to set
               BOOL bSigned      // signed or unsigned indicator
              );

    参数:

    hDlg:指定含有控制的对话框。

    nIDDlgItem:指定将被改变的控制。

    uValue:指定用于产生项目文本的整型值。

    bSigned:指定uValue参数为有符号的还是为无符号的。如果此参数为TRUE,则uValuee为有符号的。如果此参数为TRUE且uValue小于零,则最小符号被放在第一个数据之前。如果此参数为FALSE,则uValue为无符号的。

    返回值:如果函数调用成功则返回值为非零值。如果函数调用失败,则返回值为零。若想获得更多错误信息,请调用GetLastError函数。

    备注:为设置新文本,此函数把一个WM_SETTEXT消息发送到指定的控制。

    Windows CE:bSigned参数不被使用。所有被传送到nValue参数的值都假定为有符号的。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1239 SetDlgItemText 设置对话框标题或项目 "    函数功能:该函数设置对话框中控制的文本和标题。

    函数原型:BOOL SetDlgItemText(
               HWND hDlg,               // handle of dialog box
               int nIDDlgItem,          // identifier of control
               LPCTSTR lpString         // text to set
              );

    参数:

    hDlg:指定含有控制的对话框。

    nIDDlgItem:标识带有将被设置的标题和文本的控制。

    lpString:指向一个以NULL结尾的字符串指针,该字符串指针包含了将被复制到控制的文本。

    返回值:如果函数调用成功,则返回值为非零值。如果函数调用失败,则返回值为零。若想获得更多的错误信息,请调用GetLastError函数。

    备注:SetDlgItem函数把一个WM_SETTEXT消息发送到指定的控制。

    速查:WindowsNT:3.1及以上版本:Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

" Yes Yes Yes
1240 SetDoubleClickTime 设置鼠标双击时间 "    函数功能:该函数为鼠标设置双击时间。

    函数原型:BOOL SetDoubleClickTime(UINT uInterval)

    参数:

    uInterval:指定在双击中第一次和第二次点击之间的毫秒数。如果此参数设置为零则系统使用缺省的双击时间,即500毫秒。

    返回值:如果函数调用成功,返回非零值。如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。

    备注:函数SetDoubleClickTime为系统中所有的窗口修改双击时间。

    速查:Windows NT 3.1及以上版本;Windows:95及以上版本;WindowsCE:不支持;头文件:winuser.h;输入库:user32.lib。

" Yes Yes Yes
1241 SetEndOfFile 设置文本尾指针  No Yes Yes
1242 SetEnhMetaFileBits 建立增强图元文件  No Yes Yes
1243 SetEnvironmentVariable 设置环境变量  No Yes Yes
1244 SetErrorMode 设置出错模式  Yes Yes Yes
1245 SetEvent 设置事件对象  No Yes Yes
1246 SetFileApisToANSI   No Yes Yes
1247 SetFileApisToOEM 设置文件API为OEM字符集  No Yes Yes
1248 SetFileAttributes 设置文件属性  No Yes Yes
1249 SetFilePointer 设置文件指针位置  No Yes Yes
1250 SetFileSecurity 设置文件或目录安全属性  No Yes Yes
1251 SetFileTime 设置文件的64位时间  No Yes Yes
1252 SetFocus 对指定的窗口设置键盘焦点 "    函数功能:该函数对指定的窗口设置键盘焦点。该窗口必须与调用线程的消息队列相关。

    函数原型:HWND SetFocus(HWND hWnd);

    参数:

    hWnd:接收键盘输入的窗口指针。若该参数为NULL,则击键被忽略。

    返回值:若函数调用成功,则返回原先拥有键盘焦点的窗口句柄。若hWnd参数无效或窗口未与调用线程的消息队列相关,则返回值为NULL。若要获得更多错误信息,可以调用GetLastError函数。

    备注:SetFocus函数发送WM_KILLFOCUS消息到失去键盘焦点的窗口,并且发送WM_SETFOCUS消息到接受键盘焦点的窗口。它也激活接受键盘焦点的窗口或接受键盘焦点的窗口的父窗口。

    若一个窗口是活动的,但没有键盘焦点,则任何按键将会产生WM_SYSCHAR,WM_SYSKEYDOWN或WM_SYSKEYUP消息。若VK_MENU键也被按下,则消息的IParam参数将设置第30位。否则,所产生的消息将不设置此位。

    使用AttachThreadInput函数,一个线程可将输入处理连接到其他线程。这使得线程可以调用SetFocus函数为一个与其他线程的消息队列相关的窗口设置键盘焦点。

    Windows CE:不使用SetFocus函数为一个与其他线程的消息队列相关的窗口设置键盘焦点。但有一个例外。若一个线程的窗口是另一线程的子窗口,或这些窗口是具有同一父窗口的兄弟窗口,则与一个线程关联的窗日可以为其他窗口设置焦点,尽管该窗口属于一个不同的线程。在这种情况下,就不必先调用AttachThreadlnpUt函数。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本:WindowsCE:1.0及以上版;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1253 SetForegroundWindow 将窗口置于前台 "    函数功能:该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视的记号。系统给创建前台窗口的线程分配的权限稍高于其他线程。

    函数原型:BOOL SetForegroundWindow(HWND hWnd);

    参数:

    hWnd:将被激活并被调入前台的窗口句柄。

    返回值:如果窗口设入了前台,返回值为非零;如果窗口未被设入前台,返回值为零。

    备注:前台窗口是z序顶部的窗口,是用户的工作窗口。在一个多任务优先抢占环境中,应让用户控制前台窗口。

    Windows NT 5.0:当用户在另一个窗口中工作时,应用程序不能强行设置一个窗口到前台。相反,SetForeground函数将会激活窗口并且调用FlashWindowEx函数通知用户。

    Windows CE:拥有窗口的线程不具有优先启动权。

    速查:Windows NT;3.1以上版本;Windows;95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib。

" No Yes Yes
1254 SetForm 设置窗体信息  No Yes Yes
1255 SetGraphicsMode 设置图形模式  No Yes Yes
1256 SetHandleCount 设置可用文件句柄  Yes Yes Yes
1257 SetHandleInformation   No Yes Yes
1258 SetICMMode 设置图形颜色匹配  No Yes Yes
1259 SetICMProfile 设置颜色外观  No Yes Yes
1260 SetJob 设置打印作业信息  No Yes Yes
1261 SetKernelObjectSecurity 设置内核对象安全属性  No Yes Yes
1262 SetKeyboardState 设置键盘状态表 "函数功能:该函数拷贝一个存放键盘键状态的256字节的数组到调用线程的键盘输入状态表中。该表与GetkeyboardState和GetkeyState函数访问的是同一个表。对该表的改变不会影响其他线程的键盘输入。

    函数原型:BOOL SetkeyboardState(LPBYTE lpKeyState);

    参数:

    lpKeyState:指向一个包含键盘键状态的256字节的数组。

    返回值:若函数调用成功,则返回值不为0。若函数调用失败,则返回值为0。若要获得更多的错误信息,可以调用GetLastError函数。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1263 SetLastError 设置扩展出错代码  No Yes Yes
1264 SetLastErrorEx 设置扩展出错代码及类型  No Yes Yes
1265 SetLocalTime 设置本地时间  No Yes Yes
1266 SetLocaleInfo   No Yes Yes
1267 SetMailslotInfo 设置信箱读时间  No Yes Yes
1268 SetMapMode 设置映像模式  Yes Yes Yes
1269 SetMapperFlags 设置字体映像标志  Yes Yes Yes
1270 SetMenu 设置窗口菜单 "    函数功能:该函数分配一个新菜单到指定窗口。

    函数原型:BOOL SetMenu(HWND hWnd, HMENU hMenu);

    参数:

    hWnd:菜单被分配到其中的窗口的句柄。

    HMenu:新菜单的句柄。如果菜单参数为NULL,则窗口的当前菜单被删除。

    返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLaSError函数。

    备注:窗口被重画来反映菜单的修改。函数SetMenu替换原来的菜单(如果存在),但并不将其销毁。应用程序必须调用函数DestroyMenu来销毁菜单。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输人库:user32.lib。

" Yes Yes Yes
1271 SetMenuContextHelpId   No Yes Yes
1272 SetMenuDefaultItem 给指定的菜单设置缺省菜单项 "    函数功能:该函数给指定的菜单设置缺省菜单项。

    函数原型:BOOL SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos );

    参数:

    hMenu:将为其设置缺省菜单项的菜单的句柄。

    uItem:新缺省菜单项的标识符或位置,无缺省项时,取值为C1。此参数的含义由参数fByPoS的值决定。

    fByPos:用于确定参数ultem的值的含义。如果此参数为FALSE,参数ultem表示菜单项的标识符。否则,表示菜单项的位置。

    返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。

    速查:Windows NT:4.0及以上版本;Windows: 95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib。

" No Yes Yes
1273 SetMenuItemBitmaps 将复选标记位图于菜单项关联 "    函数功能:该函数将指定的位图与一个菜单项相联系。无论该菜单项是否被选取,系统都将适当的位图显示在菜单项旁边。

    函数原型:BOOL SetMenuItemBitmaps(
               HMENU hMenu,                     // handle of menu
               UINT uPosition,                  // menu item to receive new bitmaps
               UINT uFlags,                     // menu item flags
               HBITMAP hBitmapUnchecked,        // handle of unchecked bitmap
               HBITMAP hBitmapChecked           // handle of checked bitmap
              );

    参数:

    hMenu:其菜单项将接受新选取标记位图的菜单的句柄。

    uPosition:指定将被修改的菜单项。其含义由参数uFlags决定。

    UFlags:指定参数uPosition将如何解释。此参数必须是下列值之一:

    MF_BYCOMMAND:表示参数uPosition给出菜单项的标识符。如果MF_BYCOMMAND和MF_POSITION都没被指定,则MF_BYCOMMAND是缺省标志。

    MF_BYPOSITION:表示参数uPosition给出菜单项相对于零的位置。

    hBitmapUnchecked:当菜单项没被选取时显示的位图的句柄。

    hBitmapChecked:当菜单项被选取时显示的位图的句柄。

    返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。

    备注:如果参数hBitmapUnchecked或hBitmapChecked的值为NULL,系统将不为相应选取状态显示任何位图到菜单项旁边。如果两参数值均为NULL,系统在菜单项被选取时显示缺省的选取标志位图,菜单项未被选取时删除位图。当菜单项被销毁时,位图并没被销毁,需要应用程序来将其销毁。

    已选取或未选取的位图应当是单色的。系统将用布尔AND运算符组合位图和菜单。这样,位图中白色部分变成透明的,而黑色部分成为菜单项的颜色。如果使用彩色位图,结果会不符合需要。以CXMENUCHECK和CYMENUCHECK来使用函数GetSystemMetrics将取得位图的尺寸。

    速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib。

" Yes Yes Yes
1274 SetMenuItemInfo 改动一个菜单项的信息 "    函数功能:该函数改动一个菜单项的信息。

    函数原型:BOOL WINAPI SetMenuItemInfo(
               HMENU hMenu,  
               UINT uItem,  
               BOOL fByPosition,  
               LPMENUITEMINFO lpmii 
              );

    参数:

    hMenu:包含菜单项的菜单的句柄。

    uItem:将被修改的菜单项的标识符或位置。此参数的含义由参数fByPosition确定。

    fByPosition:用于指定参数uItem的含义的值。如果此参数值为FALSE,则参数uItem是菜单项的标识符,否则,表示菜单项的位置。

    lpmii:指向结构MENUITEMINFO的指针。该结构含有菜单项的信息,并且.指定将被修改的菜单项的属性。

    返回值:如果函数调用成功,返回非零值:如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。

    备注:为了使键盘加速键能控制位图或自己绘制的菜单项,菜单的拥有者必须处理WM_MENUCHAR消息。参见自绘制菜单和WM_MENUCHAR消息。Windows CE环境下,只有下列值对参数lpmii指向的MENUITEMINFO结构中的fMask成员有效:MIIM_DATA;MIIM_;MIIM_TYPE;如果MIIM_TYPE被指定,结构MENUITEMINFO的fType成员必须为菜单项的当前类型,也就是说,该类型不能被改变。

    速查:Windows NT:4.0及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib;Unicode:在Windows NT环境下,以Unicode和ANSI方式实现。

" No Yes Yes
1275 SetMessageExtraInfo   No Yes Yes
1276 SetMessageQueue 该函数已过时     函数功能:该函数已过时。提供此函数只是为了与Windows的16位版本兼容。此函数对基于Windows的32位版本不起作用,因为消息队列根据需要动态扩展。  No Yes Yes
1277 SetMetaFileBitsEx 建立WINDOWS图元文件  No Yes Yes
1278 SetMetaRgn 将剪裁区选作图元区域  No Yes Yes
1279 SetMiterLimit 设置斜面接合长度  No Yes Yes
1280 SetNamedPipeHandleState 设置管道读取/阻塞模式,控制局部缓存  No Yes Yes
1281 SetPaletteEntries 设置彩色调色板和标志  Yes Yes Yes
1282 SetParent 改变父窗口 "    函数功能:该函数改变指定子窗口的父窗口。

    函数原型:HWND SetParent(HWND hWndChild, HWND hWndNewParent);

    参数:

    hWndChild:子窗口句柄。

    hWndNewParent:新的父窗口句柄。如果该参数是NULL,则桌面窗口就成为新的父窗口。在WindowsNT5.0中,如果参数为HWND_MESSAGE,则子窗口成为消息窗口。

    返回值:如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。若想获得多错误信息,请调用GetLastError函数。

    备注:应用程序可以使用SetParent函数来设置弹出式窗口,层叠窗口或子窗口的父窗口。新的窗口与窗口必须属于同一应用程序。

    如果参数hWndChild标识的窗口是可见的,系统将执行适当的重画和刷新动作。

    由于兼容的原因,对于将改变父窗口的子窗口,SetParent函数并不改变该子窗口的WS_CHILO WS_POPUP风格。所以,如果hWndNewParent参数为NULL,就应在调用SetParent函数之后清空WS_CHILD位并且设置为WS_POPUP风格。相反的,如果hWndNewParent参数不为NULL并且在此之前窗口是桌面窗口的子窗口,就应在调用SetParent函数之前清空WS_POPUP位井设置WS_CHILD风格。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本:头文件:Winuser.h;库文件:user32.lib。

" Yes Yes Yes
1283 SetPixel 设置像素颜色  Yes Yes Yes
1284 SetPixelFormat   No Yes Yes
1285 SetPixelV 设置像素颜色  No Yes Yes
1286 SetPolyFillMode 设置多边形填充  Yes Yes Yes
1287 SetPrinter 设置打印机信息  No Yes Yes
1288 SetPrinterData 设置打印机配置  No Yes Yes
1289 SetPriorityClass 设置优先级类  No Yes Yes
1290 SetPrivateObjectSecurity 修改SD  No Yes Yes
1291 SetProcessShutdownParameters 设置进程关闭参数  No Yes Yes
1292 SetProcessWindowStation   No Yes Yes
1293 SetProcessWorkingSetSize   No Yes Yes
1294 SetProp 增加或修改属性列项 "    函数功能:该函数在指定窗口的属性表中增加一个新项,或者修改一个现有项。如果指定的字符串不在属性表中,那么就增加该新的项,新项中包含该字符串和句柄,否则就用指定的句柄替换该字符串的全前句柄。

    函数原型:BOOL SetProp(HWND hWnd, LPCTSTR lpString, HANDLE hData);

    参数:

    hWnd:指向窗口的句柄,该窗口的属性表要接收一个新项。

    lpString:指向以null结尾的字符串指针,或者包含一个标识字符串的原子。如果该参数是一个原子,么它必须是以前使用GlobalAddAtom函数创建的。原子是16位的数据值,它必须是放置在lpstring参数低位字中,而高位字必须为O。

    hData:指向要拷贝到属性表中的数据的句柄。该数据句柄可以标识任何对应用程序有用的值。

    返回值:如果该数据句柄和字符串以加到属性表中,那么返回值为非零。如果该函数失败,那么返回为零。若想获得更多错误信息,请调用GetLastError函数。

    备注:在清除窗口之前(也就足在处理WM_DESTROY消息之前),应用程序必须把它加到属性表的所项清除。应用程序必须使用RemoveProp函数来清除这些项。

    速查:Windows NT:3.1以上版本:Windows:95以上版本:Windows CE:不支持:头文件:winuser.h;文件:user32.lib:Unicode:在Windows NT环境中以Unicode和ANSI版本实现。

" Yes Yes Yes
1295 SetROP2 设置当前绘图模式  Yes Yes Yes
1296 SetRect 设置矩形大小  Yes Yes Yes
1297 SetRectEmpty 建立空的矩形  Yes Yes Yes
1298 SetRectRgn 修改区域为矩形  Yes Yes Yes
1299 SetScrollInfo 设置滚动条参数 "    函数功能:该函数设置滚动条参数,包括滚动位置的最大值和最小值,页面大小,滚动按钮的位置。如被请求,函数也可以重画滚动条。

    函数原型:int SetScrollInfo(
               HWND hwnd,               // handle of window with scroll bar
               int fnBar,               // scroll bar flag
               LPSCROLLINFO lpsi,       // pointer to structure with scroll parameters
               BOOL fRedraw             // redraw flag
              );

    参数:

    hWnd:滚动条控制或带标准滚动条的窗体句柄,由fnBar参数决定。

    fnBar:指定被设定参数的滚动条的类型。这个参数可以是下面值,含义如下:

    SB_CTL:设置滚动条控制。而参数hwnd必须是滚动条控制的句柄。

    SB_HORZ:设置所给定的窗体上标准水平滚动条参数。

    SB_VERT:设置所给定的窗体上标准垂直滚动条参数。

    lpsi:指向SCROLLINFO结构。在调用SetScrognfo之前,设置SCROLLINFO结构中cbSize成员以标识结构大小,设置成员fMask以说明待设置的滚动条参数,并且在适当的成员中制定新的参数值。成员fMask可以为下面所列复合值,含义如下:

    SIF_DfSABLENOSCROLL:如果滚动条的新参数使其为没必要,则使滚动条无效而不再移动它。

    SIF_PAGE:设置滚动页码值到由Ipsi指向的SCROLLINFO结构的nPage成员中。

    SIF_POS:设置滚动位置值到由lpsi指向的SCROLLINFO结构的nPos成员中。

    SIF_RANGE:设置滚动范围值到由lpsl指向的SCROLLINFO结构的nMin和nMax成员中。

    fRedraw:指定滚动条是否重画以反映滚动条的变化。如果这个参数为TRUE,滚动条将被重画,否则不被重画。

    返回值:返回值是滚动盒的当前位置。

    注意:SetScrolllnfo函数执行任务是检查SCROLLINFO结构中由成员nPage和nPos值的范围。成员nPage值必须从0到nMax-nMin+1,成员nPos必须是在nMin和nMax-max(nPage-1,0)之间的指定值。如果任何一个值超过了这个范围,函数将在指定范围内为它设置一个值。

    在Windows CE 2.0中,如果在参数lpsi中指定一个NULL指针,Setscrohnfo则返回0,而不返回滚动盒的当前位置。

    速查:Windows NT 3.51、Windows 95、Windows CE 1.0以上,头文件:wnuser.h;库文件:user32.lib。

" Yes Yes Yes
1300 SetScrollPos 设置滚动条位置 "    函数功能:该函数设置所指定滚动条中的滚动按钮的位置,如要求重画滚动条以反映出滚动按钮的新位置。该函数提供了向后兼容性,新的应用程序应使用SetScrolllnfo函数。

    函数原型:int SetScrollPos(
               HWND hWnd,        // handle of window with scroll bar
               int nBar,         // scroll bar flag
               int nPos,         // new position of scroll box
               BOOL bRedraw      // redraw flag
              );

    参数:

    hWnd:滚动条控制或带有标准滚动条窗体的句柄,由nBar参数值确定。

    nBar:指定滚动条将被设置。这个参数可以是下面值,含义如下:

    SB_CTL:设置滚动条控制中滚动翻页盒的位置。而参数hwnd必须是滚动条控制的句柄。

    SB_HORZ:设置窗体上标准水平滚动翻页盒的位置。

    SB_VERT:设置窗体上标准垂直滚动翻页盒的位置。

    nPos:指定滚动翻页盒的新位置。这个位置必须在滚动范围之内。若要了解更多有关滚动范围的信息,请参见SetScrollRange函数。

    bRedraw:指定滚动条是否被重画以反映出新的滚动翻页盒的位置。如果这个参数为TRUE,则滚动条将被重画;为FALSE则滚动条不被重画。

    返回值:如果函数运行成功,其返回值是滚动翻页盒的前一个位置。如果函数运行失败,其返回值是0。若想获得更多的错误信息,请调用GetLastError函数。

    注意:如果由于其他并发函数调用,滚动条又被重画,那么设置参数bRedraw为负时非常有必要的。

    因为说明滚动条位置的消息WM_HSCROLL和WM_VSCROLL只能为16位数据,那些只依赖于说明位置数据消息的应用程序在函数SetScrollPos的参数nPos中有一个实际最大值。

    但是,因为函数SetScrolllnfo,SetScrollPos,SetScrollRange,GetScrollPos, 和 GetScrollRange都支持32位的滚动条位置数据,所以有一个解决16位WM_HSCROLL和WM_VSCROLL消息阻碍的途径,请参见函数GetScrolllnfo的有关技术说明。

    速查:Windows NT 3.1、Windows 95、Windows CE 2.0以上,头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1301 SetScrollRange 设置滚动条最大和最小位置 "    函数功能:该函数设置所指定滚动条位置的最大最小值。

    函数原型:BOOL SetScrollRange(
               HWND hWnd,          // handle of window with scroll bar
               int nBar,           // scroll bar flag
               int nMinPos,        // minimum scrolling position
               int nMaxPos,        // maximum scrolling position
               BOOL bRedraw        // redraw flag
              );

    参数:

    hWnd:滚动条控制或带有标准滚动条窗体的句柄,由nBar参数值确定。

    nBar:指定滚动条将被设置。这个参数可以是下面值,含义如下:

    SB_CTL:设置滚动条控制的范围。而参数hwnd必须是滚动条控制的句柄。

    SB_HORZ:设置窗体上标准水平滚动翻页盒的范围。

    SB_VERT:设置窗体上标准垂直滚动翻页盒的范围。

    nMinPos:指定滚动位置的最小值。

    nMaxPos:指定滚动位置的最大值。

    bRedraw:指定滚动条是否被重画以反映变化。如果这个参数为TRUE,滚动条将被重化;如果为FALSE则不被重画。

    返回值:如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。

    注意:可以使用setScrollRange函数把nMinPos和nMaxPos设置为一样的值从而隐藏起滚动条。在处理滚动条消息时,应用程序可以不用调用函数SetScrollRange来隐藏滚动条。新的应用程序使用函数ShowScrollBar来隐藏滚动条。

    如果调用函数SetScrollPos之后马上调用函数SetScrollRange,则SetScrollPos中的bRedraw参数一定为零,以防止滚动条被画两次。

    标准滚动条的缺省范围时0到100。滚动条控制的缺省值为NULL(参数nMinPos和nMaxPos的值均为零)。两个范围值之间的不同之处在于由参数nMinPos和nMaxPos指定的值不能超过MAXLONG的值。

    因为说明滚动条位置的消息WM_HSCROLL和 WM_VSCROLL只能为16位数据,那些只依赖于说明位置数据消息的应用程序在函数SetScrollRange的参数nMaxPos中有一个实际最大值65,535。但是,因为函数SetScrolllnfo,SetScrollPos, SetScrollRange,GetScrolllnfo,GetScrollPos,和GetScrollRange都支持32位的滚动条位置数据,所以有一个解决16位WM_HSCROLL和WM_VSCROLL消息阻碍的途径,请参见函数GetScrolllnfo的有关技术说明。

    速查:Windows NT 3.1、Windows CE 2.0以上,头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1302 SetSecurityDescriptorDacl 设置DACL信息  No Yes Yes
1303 SetSecurityDescriptorGroup 设置SD主组信息  No Yes Yes
1304 SetSecurityDescriptorOwner 设置SD所有者  No Yes Yes
1305 SetSecurityDescriptorSacl 设置SACL信息  No Yes Yes
1306 SetServiceBits   No Yes Yes
1307 SetServiceObjectSecurity 修改服务对象安全描述符  No Yes Yes
1308 SetServiceStatus 更新服务状态  No Yes Yes
1309 SetStdHandle 设置标准设备句柄  No Yes Yes
1310 SetStretchBltMode 设置位图拉伸模式  Yes Yes Yes
1311 SetSysColors 设置系统颜色  Yes Yes Yes
1312 SetSystemCursor 定制系统光标 "    函数功能:该函数使一个应用程序定制系统光标。它用hcur规定的光标内容代替id定义的系统光标内容,接着销毁hcur。

    函数原型:BOOL SetSystemCursor (
               HCURSOR hcur,        // set specified system cursor to this cursor's contents,
                                   
// then destroy this
               DWORD id             // system cursor specified by its identifier
              );

    参数:

    hcur:光标的句柄,该函数hcur标识的光标的内容代替id定义的系统光标内容。系统通过调用DestroyCursor函数销毁hour。因此hour不能是由LoadCursor函数载入的光标。要指定一个从资源载入的光标,先用CopyCursor函数复制该光标,然后把该副本传送给SetSystemCursor函数。

    id:指定由hour的内容替换系统光标。

    下面是一系列的系统光标标识符:

    OCR_APPSTARTING:标准箭头和小的沙漏;OCR_NORAAC:标准箭头

    OCR_CROSS:交叉十字线光标:OCR_HAND:手的形状(WindowsNT5.0和以后版本)

    OCR_HELP:箭头和向东标记;OCR_IBEAM:I形梁;OCR_NO:斜的圆

    OCR_SIZEALL:四个方位的箭头分别指向北、南、东、西

    OCR_SIZENESEW:双箭头分别指向东北和西南;OCR_SIZENS:双箭头,分别指向北和南

    OCR_SIZENWSE:双箭头分别指向西北和东南;OCR_SIZEWE:双箭头分别指向西和东

    OCR_UP:垂直箭头:OCR_WAIT:沙漏返回值:如果成功,返回非零值;如果失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1313 SetSystemPaletteUse 设置系统调色板状态色  No Yes Yes
1314 SetSystemPowerState 暂停系统工作  No Yes Yes
1315 SetSystemTime 设置系统时间和日期  No Yes Yes
1316 SetSystemTimeAdjustment   No Yes Yes
1317 SetTapeParameters 设置磁带机和介质信息  No Yes Yes
1318 SetTapePosition 设置磁带位置  No Yes Yes
1319 SetTextAlign 设置文本对齐标志  Yes Yes Yes
1320 SetTextCharacterExtra 设置字符间隔  Yes Yes Yes
1321 SetTextColor 设置文件前颜色  Yes Yes Yes
1322 SetTextJustification 调整文本输出  Yes Yes Yes
1323 SetThreadAffinityMask   No Yes Yes
1324 SetThreadContext 设置指定线索描述表  No Yes Yes
1325 SetThreadDesktop   No Yes Yes
1326 SetThreadLocale 设置线索本地信息  No Yes Yes
1327 SetThreadPriority   No Yes Yes
1328 SetThreadToken   No Yes Yes
1329 SetTimeZoneInformation 设置时区  No Yes Yes
1330 SetTimer 安装系统定时器  No Yes Yes
1331 SetTokenInformation 设置令牌信息  No Yes Yes
1332 SetUnhandledExceptionFilter 设置筛选器异常函数  No Yes Yes
1333 SetUserObjectInformation   No Yes Yes
1334 SetUserObjectSecurity 设置安全描述值  No Yes Yes
1335 SetViewportExtEx 设置视口宽度  Yes Yes Yes
1336 SetViewportOrgEx 设置视口起点  Yes Yes Yes
1337 SetVolumeLabel 设置卷标  No Yes Yes
1338 SetWinMetaFileBits 由图元文件数据建立增强图元文件  No Yes Yes
1339 SetWindowContextHelpId   No Yes Yes
1340 SetWindowExtEx 设置窗口宽度  Yes Yes Yes
1341 SetWindowLong 设置窗口附加内存长型数值 "    函数功能:该函数改变指定窗口的属性。函数也将在指定偏移地址的一个32位值存入窗口的额外窗口存。

    函数原型:LONG SetWindowLong(HWND hWnd, int nIndex, LONG dwNewLong);

    参数:

    hWnd:窗口句柄,及间接声明的该窗口所属的类。

    nIndex:指定将设定的大于等于0的偏移值。有效值的范围从0到额外类的存储空间的字节数-4。
例如若指定了12位或多于12位的额外类存储空间,则应设为第三个32位整数的索引位8。要设置其他任何值,可以指定下面值之一:

    GWL_EXISTYLE:设定一个新的扩展风格。GWL_STYLE:设定一个新的窗口风格。

    GWL_WNDPROC:为窗口过程设定一个新的地址。GWL_ID:设置一个新的窗口标识符。

    GWL_HINSTANCE:设置一个新的应用程序事例句柄。

    GWL_USERDATA:设置与窗口有关的32位值。每一个窗口均有一个由创建该窗口的应用程序使用的32位值。

    当hWnd参数标识了一个对话框时,也可使用下列值:

    DWL_DLGPROC:设置对话框过程的新地址。

    DWL_MSGRESULT:设置在对话框过程中处理的消息的返回值。

    DWL_USER:设置的应用程序私有的新的额外信息,例如一个句柄或指针。

    dwNewLong:指定的替换值。

    返回值:如果函数成功,返回值是指定的32位整数的原来的值。如果函数失败,返回值为0。若想获得更多错误信息,请调用GetLastError函数。

    如果指定32位整数的原来的值为0,并且函数成功,则返回值为0,但是函数并不清除最后的错误信息,这就很难判断函数是否成功。这时,就应在调用SetWindowLong之前调用callingSetLastError(0)函数来清除最后的错误信息。这样,如果函数失败就会返回0,并且GetLastError。也返回一个非零值。

    备注;如果由hWnd参数指定的窗口与调用线程不属于同一进程,将导致SetWindowLong函数失败。

    指定的窗口数据是在缓存中保存的,因此在调用SetWindowLong之后再调用SetWindowPos函数才能使SetWindowLong函数所作的改变生效。

    如果使用带GWL_WNDPROC索引值的SetWindowLong函数替换窗口过程,则该窗口过程必须与WindowProccallback函数说明部分指定的指导行一致。

    如果使用带DWL_MSGRESULT索引值的SetWindowLong函数来设置由一个对话框过程处理的消息的返回值,应在此后立即返回TRUE。否则,如果又调用了其他函数而使对话框过程接收到一个窗口消息,则嵌套的窗口消息可能改写使用DWL_MSGRESULT设定的返回值。

    可以使用带GWL_WNDPROC索引值的SetWindowLong函数创建一个窗口类的子类,该窗口类是用于创建该窗口的关。一个应用程序可以一个系统美为于类,但是不能以一个其他进程产生的窗口类为子类,SetwindowLong函数通过改变与一个特殊的窗口类相联系的窗口过程来创建窗口子类,从而使系统调用新的窗口过程而不是以前定义的窗口过程。应用程序必须通过调用CallWindowProc函数向前窗口传递未被新窗口处理的消息,这样作允许应用程序创建一个窗口过程链。

    通过使用函数RegisterClassEx将结构WNDCLASSEX中的cbWndExtra单元指定为一个非0值来保留新外窗口内存。

    不能通过调用带GWL_HWNDPARENT索引值的SetWindowLong的函数来改变子窗口的父窗口,应使用SetParent函数。

    Windows CE:nlndex参数必须是4个字节的倍数不支持unaligned access。

    不支持下列nlndex参数值:。

    GWL_HINSTANCE;GWL_HWNDPARENTGWL;GWL_USERDATA

    Windows CE 2.0版支持在nlndex参数中的DWL_DLGPROC值,但是WindowsCE1.0不支持。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本:头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

    函数功能:该函数删除一个窗口类,清空该类所需的内存。

    函数原型:BOOL UnRegisterClass(LPCTSTR IpClassName; HINSTANCE hlnstance);

    参数:

    IpClassName:指向一个空结束字符串的指针,或是一个整型原子。如果IpClassName是一个字符串,则它指定了窗口类的类名。这个类名必须由此前调用RegisterClassEx函数来注册。系统类,如对话框控制,必须被注册。

    如果这个参数是一个整型原子,它必须是由此前调用GlobalAdd原子函数创建的全局原子。这个16位整型数小于OxCOOO,必须是lpszClass的低16位,其高位宇必须为0。

    hlnstance:创建类的模块的事例句柄。

    返回值:如果函数成功,返回值为非零;如果未发现类或由此类创建的窗口仍然存在,则返回值为0。

    若想获得更多错误信息,请调用GetLastError函数。

    备注:在调用这个函数之前,应用程序必须销毁由指定类创建的所有窗口。

    应用程序注册的所有窗口类在应用程序中止后都为未注册的类。

    Windows 95:所有由OLL注册的窗口类在DLL卸载后均未注册的类。

    windows NT:所有由DLL注册的类在DLL卸载后仍为已注册的类。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Uhicode和ANSI两种版本。
" Yes Yes Yes
1342 SetWindowOrgEx 设置窗口源起点  Yes Yes Yes
1343 SetWindowPlacement 设置窗口显示状态及最小/最大位置 "    函数功能:该函数设置指定窗口的显示状态和恢复,最大化,最小化位置。

    函及原型;BOOL SetWindowPlacement(HWND hWnd, CONST WINDOWPLACEMENT *lpwndpl);

    参数:

    hWnd:窗口句柄。

    lpwndpl:指向一个WINDOWPLACEMWNT结构的指针,该结构给出了新的显示状态和窗口位置。

    在调用函数SetWindowPlacement之前,将WINDOWPLACEMWNT结构的长度单元置为sizeof(WINDOWPLACEMENT)。如果lpwndpl->length设置不正确,函数SetWindowPlacement将失败。

    返回值:如果函数成功,返回值为非零。如果函数失败,返回值为零。若想获得更多错误信息,请调用callGetLastErro函数。

    备注:如果在WIDNOWPLACEMENT中指定的信息使窗口完全显示在屏幕之外,系统自动调整坐标以使窗口可见,兼顾屏幕设置和多种监视器配置。

    WINDOWPLACEMENT的长度成员信息设置为sizeof(WINDOWPLACEMENT),如果设置不正确,函数将返回FLASE。查看窗口位置坐标的信息,参看WINDOWPLACEMENT。

    速查:Windows NT:3.1以上版本;Windows;95以上版本;Windows CE:不支持;头文件;winuser.h;库文件:user32.lib。

" Yes Yes Yes
1344 SetWindowPos 设置窗口大小、位置、顺序 "    函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。

    函数原型:BOOL SetWindowPos(
               HWND hWnd,               // handle of window
               HWND hWndInsertAfter,    // placement-order handle
               int X,                   // horizontal position
               int Y,                   // vertical position
               int cx,                  // width
               int cy,                  // height
               UINT uFlags              // window-positioning flags
              );

    参数:

    hWnd:窗口句柄。

    hWndInsertAfter:在z序中的位于被置位的窗口前的窗口句柄。该参数必须为一个窗口句柄,或下列值之一:

    HWND_BOTTOM:将窗口置于Z序的底部。如果参数hWnd标识了一个顶层窗口,则窗口失去顶级位置,并且被置在其他窗口的底部。

    HWND_DOTTOPMOST:将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后)。如果窗口己经是非顶层窗口则该标志不起作用。

    HWND_TOP:将窗口置于Z序的顶部。

    HWND_TOPMOST:将窗口置于所有非顶层窗口之上。即使窗口未被激活窗口也将保持顶级位置。

    查g看该参数的使用方法,请看说明部分。

    x:以客户坐标指定窗口新位置的左边界。

    Y:以客户坐标指定窗口新位置的顶边界。

    cx:以像素指定窗口的新的宽度。

    cy:以像素指定窗口的新的高度。

    uFlags:窗口尺寸和定位的标志。该参数可以是下列值的组合:

    SWP_ASNCWINDOWPOS:如果调用进程不拥有窗口,系统会向拥有窗口的线程发出需求。这就防止调用线程在其他线程处理需求的时候发生死锁。

    SWP_DEFERERASE:防止产生WM_SYNCPAINT消息。

    SWP_DRAWFRAME:在窗口周围画一个边框(定义在窗口类描述中)。

    SWP_FRAMECHANGED:给窗口发送WM_NCCALCSIZE消息,即使窗口尺寸没有改变也会发送该消息。如果未指定这个标志,只有在改变了窗口尺寸时才发送WM_NCCALCSIZE。

    SWP_HIDEWINDOW;隐藏窗口。

    SWP_NOACTIVATE:不激活窗口。如果未设置标志,则窗口被激活,并被设置到其他最高级窗口或非最高级组的顶部(根据参数hWndlnsertAfter设置)。

    SWP_NOCOPYBITS:清除客户区的所有内容。如果未设置该标志,客户区的有效内容被保存并且在窗口尺寸更新和重定位后拷贝回客户区。

    SWP_NOMOVE:维持当前位置(忽略X和Y参数)。

    SWP_NOOWNERZORDER:不改变z序中的所有者窗口的位置。

    SWP_NOREDRAW:不重画改变的内容。如果设置了这个标志,则不发生任何重画动作。适用于客户区和非客户区(包括标题栏和滚动条)和任何由于窗回移动而露出的父窗口的所有部分。如果设置了这个标志,应用程序必须明确地使窗口无效并区重画窗口的任何部分和父窗口需要重画的部分。

    SWP_NOREPOSITION;与SWP_NOOWNERZORDER标志相同。

    SWP_NOSENDCHANGING:防止窗口接收WM_WINDOWPOSCHANGING消息。

    SWP_NOSIZE:维持当前尺寸(忽略cx和Cy参数)。

    SWP_NOZORDER:维持当前Z序(忽略hWndlnsertAfter参数)。

    SWP_SHOWWINDOW:显示窗口。

    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误消息,请调用GetLastError函数。

    备注:如果设置了SWP_SHOWWINDOW和SWP_HIDEWINDOW标志,则窗口不能被移动和改变大小。如果使用SetWindowLong改变了窗口的某些数据,则必须调用函数SetWindowPos来作真正的改变。使用下列的组合标志:SWP_NOMOVEISWP_NOSIZEISWP_FRAMECHANGED。

    有两种方法将窗口设为最顶层窗口:一种是将参数hWndInsertAfter设置为HWND_TOPMOST并确保没有设置SWP_NOZORDER标志;另一种是设置窗口在Z序中的位置以使其在其他存在的窗口之上。当一个窗口被置为最顶层窗口时,属于它的所有窗口均为最顶层窗口,而它的所有者的z序并不改变。

    如果HWND_TOPMOST和HWND_NOTOPMOST标志均未指定,即应用程序要求窗口在激活的同时改变其在Z序中的位置时,在参数hWndInsertAfter中指定的值只有在下列条件中才使用:

    在hWndInsertAfter参数中没有设定HWND_NOTOPMOST和HWND_TOPMOST标志。

    由hWnd参数标识的窗口不是激活窗口。

    如果未将一个非激活窗口设定到z序的顶端,应用程序不能激活该窗口。应用程序可以无任何限制地改变被激活窗口在Z序中的位置,或激活一个窗口并将其移到最高级窗口的顶部或非最高级窗口的顶部。

    如果一个顶层窗口被重定位到z序的底部(HWND_BOTTOM)或在任何非最高序的窗口之后,该窗口就不再是最顶层窗口。当一个最顶层窗口被置为非最顶级,则它的所有者窗口和所属者窗口均为非最顶层窗口。

    一个非最顶端窗口可以拥有一个最顶端窗口,但反之则不可以。任何属于顶层窗口的窗口(例如一个对话框)本身就被置为顶层窗口,以确保所有被属窗口都在它们的所有者之上。

    如果应用程序不在前台,但应该位于前台,就应调用SetForegroundWindow函数来设置。

    Windows CE:如果这是一个可见的顶层窗口,并且未指定SWP_NOACTIVATE标志,则这个函数将激活窗口、如果这是当前的激活窗口,并且指定了SWP_NOACTIVATE或SWP_HIDEWINDOW标志,则激活另外一个可见的顶层窗口。

    当在这个函数中的nFlags参数里指定了SWP_FRAMECHANGED标志时,WindowsCE重画窗口的整个非客户区,这可能会改变客户区的大小。这也是重新计算客户区的唯一途径,也是通过调用SetwindowLong函数改变窗口风格后通常使用的方法。

    SetWindowPos将使WM_WINDOWPOSCHANGED消息向窗口发送,在这个消息中传递的标志与传递给函数的相同。这个函数不传递其他消息。

    Windows CE 1.0不支持在hWndInsertAber参数中的HWND_TOPMOST和HWND_NOTOPMOST常量。

    Windows CE1.0不支持在fuFags参数中的SWP_DRAWFRAME和SWP_NOCOPYBITS标志。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h库文件:eser32lib。

" Yes Yes Yes
1345 SetWindowRgn   No Yes Yes
1346 SetWindowText 在目录标题或控制窗口中设置窗口文本 "    函数功能:该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控制,则改变控制的文本内容。然而,SetWindowText函数不改变其他应用程序中的控制的文本内容。

    函数原型:BOOL SetWindowText(HWND hwnd, LPCTSTR lpString);

    参数:

    hWnd:要改变文本内容的窗口或控制的句柄。

    lpString:指向一个空结束的字符串的指针,该字符串将作为窗口或控制的新文本。

    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

    备注:如果目标窗口属于当前进程,SetWindowText函数会使WM_SETTEXT消息发送给指定的窗口或控制。然而,如果控制是以WS_CAPTION风格创建的列表框控制,SetWindowText函数将为控制设置文本,而不是为列表项设置文本。

    SetWindowText函数不扩展tab字符(ASCII代码0x09),Tab字符以字符 | 来显示。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件;winuser.h;库文件:user32.lib;Unicode:Windows NT上实现为Unicode和ANSI两种版本。

" Yes Yes Yes
1347 SetWindowWord 该函数已经过时     函数功能:该函数已经过时。GWW_value已不再被支持。32位Windows程序应该使用SetWindowLong函数。 Yes Yes Yes
1348 SetWindowsHook 安装钩子过程  No Yes Yes
1349 SetWindowsHookEx 安装钩子过程  No Yes Yes
1350 SetWorldTransform 设置世界传送  No Yes Yes
1351 SetupComm 设置通信参数  No Yes Yes
1352 ShellAbout 显示SHELL ABOUT对话框  No Yes Yes
1353 ShellExecute 打开或打印指定文件  No Yes Yes
1354 Shell_NotifyIcon 发送修改任务栏图标  No Yes Yes
1355 ShowCaret 显示脱字号 "    函数功能:该函数使插入标记在屏幕的当前位置上可见。当插入标记变为可见时,它自动开始闪烁。

    函数原型:BOOL ShowCaret(HWND hWnd);

    参数:

    hWnd:标识拥有插入标记的窗口。如果该参数为NULL,那么ShowCaret搜索当前任务以发现有插入标记的窗口。

    返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。

    备注:只有指定的窗口拥有插入标记,并且该插入标记具有形状,没有连续隐藏2次或多次时,ShowCaret才能显示该插入标记。如果这几个条件中的一个或多个没满足,那么ShowCaret函数什么也不做,并且返回FALSE。

    速查:Windows NT:3.1及以上版本Windows:95及以上版本Windows CE:1.0及以版本;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1356 ShowCursor 显示光标 "    函数功能:该函数显示或隐藏光标。

    函数原型:int ShowCursor(BOOL bShow);

    参数:

    bShow:确定内部的显示计数器是增加还是减少,如果bShow为TRUE,则显示计数器增加1,如果bShow为FALSE,则计数器减1。

    返回值:返回值规定新的显示计数器。

    备注:该函数设置了一个内部显示计数器以确定光标是否显示,仅当显示计数器的值大于或等于0时,光标才显示,如果安装了鼠标,则显示计数的初始值为0。如果没有安装鼠标,显示计数是C1。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

" Yes Yes Yes
1357 ShowOwnedPopups 显示或隐藏弹出式窗口 "    函数功能:该函数显示或隐藏属于指定窗口的所有弹出式窗口。

    函数原型:BOOL ShowOwnedPopups(HWND hWnd, BOOL fshow);

    参数:

    hWnd:拥有弹出式窗口的窗口句柄,这些弹出式窗口将被显示或隐藏。

    fShow:指明弹出式窗口是被显示还是隐藏。如果该参数为TRUE,则所有隐藏的弹出式窗口均被显示;如果该参数为FALSE,则所有显示的弹出式窗口均被隐藏。

    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

    备注:ShowOwnedPopups函数仅显示由以前调用ShowOwnedPopups隐藏的窗口。例如,如果弹出式窗口由调用ShowWinodw函数隐藏,则在随后调用ShowOwnedPopups(将fShow参数置为TRUE)并不能使窗口显示出来。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.Lib

" Yes Yes Yes
1358 ShowScrollBar 显示或隐藏滚动条 "    函数功能:该函数显示或隐藏所指定的滚动条。

    函数原型:BOOL ShowScrollBar(HWND hWnd, int wBar, BOOL bShow);

    参数:

    hWnd:根据参数wBar值,处理滚动条控制或带有标准滚动条窗体。

    wBar:指定滚动条是被显示还是隐藏。这个参数可以是下面值之一,具体含义如下:

    SB_SOTH:显示或隐藏窗体的标准的水平或垂直滚动条。

    SB_CTL:显示或隐藏滚动条控制。参数hWnd必须是指向滚动条控制的句柄。

    SB_HORZ:显示或隐藏窗体的标准的水平滚动条。

    SB_VERT:显示或隐藏官体的标准的垂直滚动条。

    bShow:指定滚动条是被显示还是隐藏。此参数为TRUE,滚动条将被显示,否则被隐藏。

    返回值:如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。

    注意:当处理滚动条消息时,不能调用这个函数隐藏滚动条。

    速查:Windows NT 3.1、Windows 95以上,头文件:winuserh;库文件:user32.lib。

" Yes Yes Yes
1359 ShowWindow 设置指定窗口的显示状态 "    函数功能:该函数设置指定窗口的显示状态。

    函数原型:BOOL ShowWindow(HWND hWnd, int nCmdShow);

    参数:

    hWnd:窗口句柄。

    nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数。在随后的调用中,该参数可以为下列值之一:

    SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数。

    SW_HIDE:隐藏窗口并激活其他窗口。

    SW_MAXIMIZE:最大化指定的窗口。

    SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。

    SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。

    SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。

    SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。

    SW_SHOWMAXIMIZED:激活窗口并将其最大化。

    SW_SHOWMINIMIZED:激活窗口并将其最小化。

    SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然维持激活状态。

    SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。

    SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。

    SW_SHOWNOMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。

    返回值:如果窗口以前可见,则返回值为非零。如果窗口以前被隐藏,则返回值为零。

    备注:应用程序第一次调用ShowWindow时,应该使用WinMain函数的nCmdshow参数作为它的nCmdShow参数。在随后调用ShowWindow函数时,必须使用列表中的一个给定值,而不是由WinMain函数的nCmdSHow参数指定的值。

    正如在nCmdShow参数中声明的,如果调用应用程序的程序使用了在STARTUPINFO结构中指定的信息来显示窗口,则在第一次调用ShowWindow函数时nCmdShow参数就被忽略。在这种情况下,ShowWindow函数使用STARTUPINFO结构中的信息来显示窗口。在随后的调用中,应用程序必须调用ShowWindow 函数(将其中nCmdShow参数设为SW_SHOWDEFAULT)来使用由程序调用该应用程序时提供的启动信息。这个处理在下列情况下发生:

    应用程序通过调用带WS_VISIBLE标志的函数来创建它们的主窗口函数;

    应用程序通过调用清除了WS_VISIBLE标志的CreateWindow函数来创建主窗口函数,并且随后调用带SW_SHOW标志的ShowWindow函数来显示窗口;

    Windows CE:nCmdShow参数不支持下列值:

    SW_MAXIMINZE;SW_MINIMIZE;SW_RESTORE;SW_SHOWDEFAULT

    SW_SHOWMAXIMIZED;SW_SHOWMINIMIZED;SW_SHOWMININOACTIVATE

    速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本;头文件:winuw库文件:user32.lib。

" Yes Yes Yes
1360 ShowWindowAsync 设置窗口的显示状态 "    函数功能:该函数设置由不同线程产生的窗口的显示状态。

    函数原型:BOOL ShowWindowAsync(HWND hWnd, int nCmdshow);

    参数:

    hWnd:窗口句柄。

    nCmdShow:指定窗口如何显示。查看允许值列表,请查阅ShowWindow函数的说明部分。

    返回值:如果函数原来可见,返回值为非零;如果函数原来被隐藏,返回值为零。

    备注:这个函数向给定窗口的消息队列发送show-window事件。应用程序可以使用这个函数避免在等待一个挂起的应用程序完成处理show-window事件时也被挂起。

    速查:Windows NT:4.0以上版本;Windows:95以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

" No Yes Yes
1361 SizeofResource 返回资源大小 "    函数功能:该函数返回指定资源字节数大小。

    函数原型:DWORD SizeofResource(HMODULE hModule, HRSRC hReslnfo);

    参数:

    hModule:包合资源的可执行文件模块的句柄。

    hResInfo:资源句柄。此句柄必须由函数FindResource或FindResourceEx来创建。

    返回值:如果函数运行成功,返回值资源的字节数。如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。

    速查:Windows NT 3.1、Windows 95、Windows CE 1.0以上,头文件:winbase.h;库文件:kerne132.lib。

" Yes Yes Yes
1362 Sleep 暂停线索  No Yes Yes
1363 SleepEx 暂停线索直到I/O结束  No Yes Yes
1364 sndPlaySound 播放声音文件  No Yes Yes
1365 StartDoc 开始打印作业  Yes Yes Yes
1366 StartDocPrinter 开始打印作业  No Yes Yes
1367 StartPage 准备打印机接收数据  Yes Yes Yes
1368 StartPagePrinter 开始打印机  No Yes Yes
1369 StartService 开始运行服务  No Yes Yes
1370 StartServiceCtrlDispatcher 连接线索  No Yes Yes
1371 StretchBlt 复制位图  Yes Yes Yes
1372 StretchDIBits 将DIB从源矩形移至目的矩形  Yes Yes Yes
1373 StrokeAndFillPath 关闭、填充路径  No Yes Yes
1374 StrokePath 行使路径  No Yes Yes
1375 SubtractRect 两个矩形相减  No Yes Yes
1376 SuspendThread 挂起线索  No Yes Yes
1377 SwapBuffers   No Yes Yes
1378 SwapMouseButton 交换鼠标按钮功能 "    函数功能:该函数反转或恢复鼠标左右键的含义

    函数原型:BOOL SwapMouseButton(BOOL fSwap);

    参数:

    fSwap:指定鼠标键的含义是否被反转或恢复。如果此参数为TRUE,则左键产生右键消息而右键产生左键消息,如果此参数为FALSE,则恢复鼠标键的最初含义。

    返回值:如果在函数调用之前鼠标键的含义已被反转,则返回非零值。如果鼠标键的含义没反转,返回值是零。

    备注:鼠标键交换是为给那些用左手操作鼠标的人提供方便。此函数通常只能由控制板调用。尽管一个应用程序能够自由地调用此函数,但鼠标是一种共享资源,其键的含义反转会影响所有应用程序。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib。

" Yes Yes Yes
1379 SwitchDesktop   No Yes Yes
1380 SystemParametersInfo 查寻系统参数信息 "    函数功能:该函数查询或设置系统级参数。该函数也可以在设置参数中更新用户配置文件。

    函数原型:B00L SystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);

    参数:

    uiAction:该参数指定要查询或设置的系统级参数。其取值如下;

    SPI_GETACCESSTIMEOUT:检索与可访问特性相关联的超时段的信息,PvParam参数必须指向某个ACCESSTIMEOUT结构以获得信息,并将该结构中的cbSize成员和uiParam参数的值设为sizeof(ACCESSTIMEOUT)。

    SPI_GETACTIVEWINDOWTRACKING:用于Windows 98和Windows NT 5.0及以后的版本。它表示是否打开活动窗口跟踪(激活该窗口时鼠标置为开状态),pvParam参数必须指向一个BOOL型变量(打开时接收值为TRUE,关闭时为FALSE)。

    SPI_GETACTIVEWNDTRKZORDER;用于Windows 98和Windows NT 5.0及以后版本。它表示通过活动窗口跟踪开关激活的窗口是否要置于最顶层。pvParam参数必须指向一个BOOL型变量,如果要置于顶层,那么该变量的值为TRUE,否则为FALSE。

    SPI_GETACTIVEWNDTRKTIMEOUT:用于Windows 98和 Windows NT 5.0及以后版本。它指示活动窗口跟踪延迟量,单位为毫秒。pvParam参数必须指向DWORD类型变量,以接收时间量。

    SPI_GETANIMATION:检索与用户活动有关的动画效果。pvParam参数必须指向ANIMATIOINFO结构以接收信息。并将该结构的cbSize成员和uiParam参数置为sizeof(ANIMATIONINFO)。

    SPI_GETBEEP:表示警告蜂鸣器是否是打开的。pvParam参数必须指向一个BOOL类型变量,如果蜂鸣器处于打开状态,那么该变量的值为TRUE,否则为FALSE。

    SpI_GETBORDER:检索决定窗口边界放大宽度的边界放大因子。pvParam参数必须指向一个整型变量以接收该值。

    SPI_GETDEFAULTINPUTLANG:返回用于系统缺省输入语言的键盘布局句柄。pvParam参数必须指向一个32位变量,以接收该值。

    SPI_GETCOMBOBOXANIMATION:用于Windows 98和Windows NT 5.0及以后版本。它表示用于组合柜的动打开效果是否允许。pvParam参数必须指向一个BOOL变量,如果允许,那么变量返回值为TRUE,否则为FALSE。

    SPI_GETDRAGFULLWINDOWS:确定是否允许拖拉到最大窗口。pvParam参数必须指向BOOL变量,如果允许,返回值为TRUE,否则为FALSE。对于Windows 95系统,该标志只有在安装了Windows plus才支持。

    SPI_GETFASTTASKSWITCH:该标志已不用!以前版本的系统使用该标志来确定是否允许Alt+Tab快速任务切换。对于Windows 95、Windows 98和Windows NT 4.0版而言,快速任务切换通常是允许的。

    SPI_GETFILTERKEYS:检索有关FILTERKEYS(过滤键)易用特征信息。pvParam参数必须指向接收信息的filterkeys结构,并将该结构中的cbSize成员和uiParam参数的值设为sizeof(FILTERKEYS)。

    SPI_GETFONTSMOOTHING:表示字体平滑处理特征是否允许。该特征使用字体保真技术,通过在不同灰度级上涂上像素使字体曲线显得更加平滑。参数pvParam必须指向BOOL类型变量,如果该特征被允许,那么返回值为TRUE,否则为FALSE。对于Windows 95系统,该标志只有在安装了Windows plusl才支持。

    SPI_GETFOREGROUNDFLASHCOUNT:用于Windows 98和Windows NT 5.0及以后版本。它表示在拒绝前台切换申请时系统闪烁任务条按钮的次数。参数pvParam必须指向DWORD变量,以接收该值。

    SPI_GETFOREGROUNDLOCKTIMEOUT:用于Windows NT 5.O及以后版本或Windows 98。它表示在系统禁止应用程序强行将自己进入前台期间的时间量,单位为毫秒.参数pvParam必须指向DWORD变量以接收时间值。

    SPI_GETGRADIENTCAPTIONS:用于Windows 98和Windows NT 5.0及以后版本。它表示是否允许有用于窗口标题栏的倾斜效果。参数pvParam必须指向BOOL变量,其值在允许时为TRUE,禁止时为FALSE。

    SPL_GETGRIDGRANULARITY:检索桌面大小网格的当前颗粒度值。参数pVparam必须指向一个整型变量以接收该值。

    SPI_GETHIGHCONTRAST:用于Windows 95及更高版本、Windows NT 5.0及以后版本。检索与HighContrast易用特征有关的信息。pvParam参数必须指向用于接收该信息的HIGHCONTRAST结构,该结构中的。cbSize成员和uiParam参数的值应设为sizeof(NIGHCONTRAST)。

    SPI_GETICONMETRICS:检索与图标有关的度量信息。参数pvParam必须指向一个ICONMETRICS结构以接收信息。该结构中的。cbSize成员和uiParam参数的值应设为sizeof(ICONMETRICS)。

    SPI_GETICONTITLELOGFONT:检索当前图标标题字体的逻辑字体信息。参数uiParam规定了logfont结构的大小,参数pvParam必须指向要填充的logfont结构。

    SPI_GETICONTITLEWRAP:确定是否允许图标标题环绕。pvParam参数必须指向一个BOOL类型变量,该变量的值在允许时为TRUE,否则为FALSE。

    SPI_GETKEYBOARDDELAY:检索键盘重复击键延迟设置,该值范围从0(大约25Oms延迟)到3(大约1秒延迟)。与该范围里每一个值相关的实际延迟时间可能与硬件有关。pvParam参数必须指向一个整型变量以接收设置值。

    SPI_GETKEYBOARDPREF:用于Windows 95及以后版本。Windows NT 5.O及以后版本。它确定用户是否依赖键盘而非鼠标,是否要求应用程序显示键盘接口,以免隐藏。pvParam参数必须指向一个BOOL类型变量,如果用户依赖键盘,那么该变量取值为TRUE,否则为FALSE。

    SPI_GETKEYBOARDSPEED:检索键盘重复击键速度设置情况,该值范围从0(大约30次/秒)至31(大约25次/秒)。实际的击键速率与硬件有关,而且变动的线性幅度有可能高达20%。参数pvParam必须指向DWORD变量以接收设置值。

    SPI_GETLISTBOXSMOOTHSCROLLING:用于Windows 98和Windows NT 5.0及以后版本。表示是否允许有列表栏的平滑滚动效果。pvParam参数必须指向BOOL变量,如果允许,则该值为TRUE,否则为FALSE。

    SPI_GETLDWPOWERACTIVE:确定是否允许屏幕保护的低电压状态。如果允许,那么指向BOOL变量的pvParam参数会接收到TRUE值,否则为FALSE。对于Windows 98,该标志对16位和32位应用程序都支持。

    对于Windows 95,该标志只支持16位应用程序。对于Windows NT,在Windows NT 5.0及以后版本中支持32位应用程序,对16位应用程序则不支持。

    SPI_GETLOWPOWERTIMEOUT:检索用于屏幕保护的低电压状态超时值。pvParam参数必须指向一个整型变量,以接收该值。对于Windows 98该标志支持16位和32位应用程序。对于Windows95,该标志只支持16位应用程序。对于Windows NT,该标志支持Windows NT 5.0及以后版本上的32位应用程序。不支持16位应用程序。

    SPI_GETMENUDROPALIGNMENT。确定弹出式菜单相对于相应的菜单条项是左对齐,还是右对齐、参数pvParam必须指向一个BOOL类型变量,如果是左对齐。那么该变量值为TRUE,否则为FALSE。SPI_GETMINIMIZEDMETRICS:检索最小化窗口有关的度量数据信息。参数pvParam必须指向MINIMIZEDMETRCS结构,以接收信息。该结构中的cbSize和uiParam参数的值应设为sizeof(MINIMIZEDMETRICS)。

    SPI_GETMOUSE:检索鼠标的2个阈值和加速特性。pvParam参数必须指向一个长度为3的整型数组,分别存储此值。

    SPI_GETMOUSEHOVERHEGHT:用于Windows NT 4.0及以后版本或Windows 98。获得在TrackMouseEvent事件中,为产生WM_MOUSEOVER消息而鼠标指针必须停留的矩形框的高度,以像素为单位。参数pvParam必须指向一个UINT变量以接收这个高度值。

    SPI_GETMOUSEHOVERTIME:用于Windows NT 4.0及以后版本、Windows 98,获得在TrackMouseEvent事件中,为产生WM_MOUSEOVER消息而鼠标指针必须停留在矩形框内的时间,单位为毫秒。参数pvParam必须指向一个UINT变量以接收该时间值。

    SPI_GETMOUSEHOVERWIDTH:用于Windows NT 4.0及以后版本、Windows 98。获得在TrackMouseEvent事件中,为产生WM_MOUSEOVER消息而鼠标指针必须停留的矩形框的宽度,以像素为单位。参数pvParam必须指向一个UINT变量以接收这个宽度值。

    SPI_GETMOUSEKEYS:检索与MOUSEKEYS易用特征有关的信息,pvParam参数必须指向某个MOUSEKEYS结构,以获取信息。应将结构的cbSize成员和uiParam参数设置为sizeof(MOUSEKEYS)。

    SPI_GETMOUSESPEED:用于Windows NT 5.0及以后版本、Windows 98。检索当前鼠标速度。鼠标速度决定了鼠标移动多少距离,鼠标的指针将移动多远。参数pvParam指向一个整型变量,该变量接收1(最慢)至20(最快)之间的数值。缺省值为们10。这个值可以由最终用户使用鼠标控制面板应用程序或使用调用了SPI_SETMOUSESPEED的应用程序来设置。

    SPI_GETMOUSETRAILS:用于WpvParam必须指向一个BOOL类型变量,如果是左对齐。那么该变量值为TRUE,否则为FALSE。

    SPI_GETMINIMIZEDMETRICS:检索最小化窗口有关的度量数据信息。参数pvParam必须指向MINIMIZEDMETRCS结构,以接收信息。该结构中的cbSize和uiParam参数的值应设为sizeof(MINIMIZEDMETRICS)。

    SPI_GETMOUSE:检索鼠标的2个阈值和加速特性。pvParam参数必须指向一个长度为3的整型数组,分别存储此值。

    SPI_GETMOUSEHOVERHEGHT:用于Windows NT 4.0及以后版本或Windows 98。获得在TrackMouseEvent事件中,为产生WM_MOUSEOVER消息而鼠标指针必须停留的矩形框的高度,以像素为单位。参数pvParam必须指向一个UINT变量以接收这个高度值。

    SPI_GETMOUSEHOVERTIME:用于Windows NT 4.0及以后版本、Windows 98,获得在TrackMouseEvent事件中,为产生WM_MOUSEOVER消息而鼠标指针必须停留在矩形框内的时间,单位为毫秒。参数pvParam必须指向一个UINT变量以接收该时间值。

    SPI_GETMOUSEHOVERWIDTH:用于Windows NT 4.0及以后版本、Windows 98。获得在TrackMouseEvent事件中,为产生WM_MOUSEOVER消息而鼠标指针必须停留的矩形框的宽度,以像素为单位。参数pvParam必须指向一个UINT变量以接收这个宽度值。

    SPI_GETMOUSEKEYS:检索与MOUSEKEYS易用特征有关的信息,pvParam参数必须指向某个MOUSEKEYS结构,以获取信息。应将结构的cbSize成员和uiParam参数设置为sizeof(MOUSEKEYS)。SPI_GETMOUSESPEED:用于Windows NT 5.0及以后版本、Windows 98。检索当前鼠标速度。鼠标速度决定了鼠标移动多少距离,鼠标的指针将移动多远。参数pvParam指向一个整型变量,该变量接收1(最慢)至20(最快)之间的数值。缺省值为们10。这个值可以由最终用户使用鼠标控制面板应用程序或使用调用了SPI_SETMOUSESPEED的应用程序来设置。

    SPI_GETMOUSETRAILS:用于Windows 95及更高版本。它用来表示是否允许MouseTrails(鼠标轨迹)。该特征通过简单地显示鼠标轨迹并迅速擦除它们来改善鼠标的可见性。参数pvParam必须指向一个整型变量来接收该值。如果这个值为0或1,那么表示禁止该特征。如果该值大于1,则说明该特征被允许,并且该值表示在鼠标轨迹上画出的光标数目。参数uiParam不用。

    SPI_GETNONCLIENTMETRICS:检索与非最小化窗口的非客户区有关的度量信息。参数pvParam必须指向NONCLIENTMETRICS结构,以便接收相应值。该结构的。cbSize成员与uiParam参数值应设为sizeof(NONCLIENTMETRICS)。对于Windows 98,该标志支持16位和32位应用程序。对于Windows 95,该标志只支持16位应用程序。对于Windows NT该标志在NT 5.0及以后版本中支持32位应用程序,不支持16位应用程序。

    SPI_GETPOWEROFFACTIVE:确定是否允许屏幕保护中关电。TRUE表示允许,FA参数pvParam必须指定SERIALKEYS结构来接收信息。该结构中的cbSize成员和uiParam参数的值要设为sizeof(SERIALKEYS)。

    SPI_GETSHOWSOUNDS:确定ShowSounds易用特性标志是开或是关。如果是开,那么用户需要一个应用程序来可视化地表达信息,占则只能以听得见的方式来表达。参数pvParam必须指向一个BOOL类型变量。该变量在该特征处于开状态时返回TRUE,否则为FALSE。使用这个值等同于调用GetSystemMetrics(SM_SHOWSOUNDS)。后者是推荐使用的调用方式。

    SPI_GETSNAPTODEFBUTTON:用于Windows NT 4.0及以后版本、Windows 98:确定 Snap-TO-Default-Button(转至缺省按钮)特征是否允许。如果允许,那么鼠标自动移至缺省按钮上,例如对话框的""Ok""或""Apply""按钮。pvParam参数必须指向Bool类型变量,如果该特征被允许,则该变量接收到TRUE,否则为FALSE。

    SPI_GETSOUNDSENTRY:检索与SOUNDSENTRY可访问特征有关的信息。参数pvParam必须指向SOUNDSENTRY结构以接收信息。该结构中的。cbSize或员和uiParam参数的值要设为sizeof(SOUNDSENTRY)。

    SPI_GETSTICKYKEYS:检索与StickyKeys易用特征有关的信息。参数 pvParam必须指向STICKYKEYS结构以获取信息。该结构中的cbSze成员及uiParam参数的值须设为sizeof(STICKYKEYS)。

    SPI_GETSWITCHTASKDISABLE:用于Windows NT 5.0、Windows 95及以后版本,确定是否允许Alt+Tab和AIt+Esc任务切换。参数pvParam必须指向UINT类型变量,如果禁止任务切换,那么返回值为1,否则为0。在缺省情况下,是允许进行任务切换的。

    SPI_GETTOGGLEKEYS:检索与ToggleKeys易用特性有关的信息。参数pvParam必须指向TOGGLEKEYS结构以获取信息。该结构中的cbSize成员和uiParam参数值要设置sizeof(TOGGLEKEYS)。

    SPI_GETWHEELSCROLLLINES:用于Windows NT 4.0及以后版本、Windows 98。当前轨迹球转动时,获取滚动的行数。参数pvParam必须指向UINT类型变量以接收行数。缺省值是3。

    SPI_GETWINDOWSEXTENSION:在Windows 95中指示系统中是否装了Windows Extension和Windows Plus!。

    参数uiParam应设为1。而参数pvParam则不用。如果安装了Windows Extenson,那么该函数返回TRUE,否则为FALSE。

    SPI_GETWORKAREA:检索主显示器的工作区大小。工作区是指屏幕上不被系统任务条或应用程序桌面工具遮盖的部分。参数pvParam必须指向RECT结构以接收工作区的坐标信息,坐标是用虚拟屏幕坐标来表示的。为了获取非主显示器的工作区信息,请调用GetMonitorlnfo函数。参数uiParam指定宽度,单位是像素。

    SPI_ICONVERTICALSPACING:设置图标单元的高度。参数uiParam指定高度,单位是像素。

    SPI_LANGDRIVER:未实现。

    SPI_SCREENSAVERRUNNING:改名为SPI_SETSCREENSAVERRUNNING。

    Spl_SETACCESSTIMEOUT:设置与可访问特性有关的时间限度值,参数 pvParam必须指向包含新参数的ACCESSTIMEOUT结构,该结构的cbSize成员与uiParam参数的值要设为sizeof(ACCESSTMEOUT)。

    SPI_SETACTIVEWINDOWTRACKING:用于Windows NT 5.0及以后版本、Windows 98。设置活动窗口追踪的开或关,如果把参数pvParam设为TRUE,则表示开。pvParam参数为FALSE时表示关。

    SPI_SETACTIVEWNDTRKZORDER:用于Windows NT 5.0及以后版本、Windows 98。表示是否把通过活动窗口跟踪而激活的窗口推至顶层。参数pvParam设为TRUE表示推至顶层,FALSE则表示不推至顶层。

    SPI_SETACTIVEWNDTRKTIMEOUT:用于Wlindows NT 5.0及以后版本、Windows 98。设置活动窗口跟踪延迟。

    参数pvParam设置在用鼠标指针激活窗口前需延迟的时间量,单位为毫秒。

    SPI_SETBEEP:将警蜂器打开或关闭。参数uiParam指定为TRUE时表示打开,为FALSE时表示关闭。

    SPI_SETBORDER:设置确定窗口缩放边界的边界放大因子。参数uiParam用来指定该值。

    SPI_SETCOMBOBOXANIMATION:用于Windows NT 5.0及以后版本和Windows 98。允许或禁止组合滑动打开效果。如果设置pvParam参数为TRUE,则表示允许有倾斜效果,如果设为FALSE则表示禁止。

    SPI_SETCURSORS:重置系统光标。将uiParam参数设为0并且pvParam参数设为NULL。

    SPI_SETDEFAULTINPUTLANG:为系统Shell(命令行解器)和应用程序设置缺省的输入语言。指定的语言必须是可使用当前系统字符集来显示的。pvParam参数必须指向DWORD变量,该变量包含用于缺省语言的键盘布局句柄。

    SpI_SETDESKpATTERN:通过使Windows系统从WIN.INI文件中pattern=设置项来设置当前桌面模式。

    SPI_SETDESKWALLPAPER:设置桌面壁。pvParam参数必须指向一个包含位图文件名,并且以NULL(空)结束的字符串。

    SPI_SETDOUBLECLICKTIME:设uiParam参数的值为目标双击时间。双击时间是指双击中的第1次和第2次点击之间的最大时间,单位为毫秒。也可以使用SetDoubleClickTime函数来设置双击时间。为获取当前双击时间,请调用GetDoubleClickTime函数。

    SPI_SETDOUBLECLKHEGHT:将uiParam参数的值设为双击矩形区域的高度。双击矩形区域是指双击中的第2次点击时鼠标指针必须落在的区域,这样才能记录为双击。

    SPI_SETDOUBLECLKWIDTH:将uiParam参数的值设为双击矩形区域的宽度。

    SPI_SETDRAGFULLWINDOWS:设置是否允许拖至最大窗口。参数uIParam指定为TRUE时表示为允许,为FALSE则不可。对于Windows 95,该标志只有在安装了Windows plusl才支持。

    SPI_SETDRAGHEIGHT:设置用于检测拖拉操作起点的矩形区域的高度,单位为像素。参考GETSYSTEMMETRICS函数的nlndex参数中的SM_CXDRAG和SM_CYDRAG。

    SPI_SETDRAGWIDTH:设置用于检测拖拉操作起点的矩形区域的宽度,单位为像素。

    SPI_SETFASTTASKSWITCH:该标志己不再使用。以前版本的系统使用此标志来允许或不许进行Alt+Tab快速任务切换。对于Windows 95、Windows 98和Windows NT 4.0,通常都允许进行快速任务切换。参考SPI_SETSWITCHTASKDISABLE。

    SPI_SETFILTERKEYS:设置FilterKeys易用特性的参数。参数pvParam必须指向包含新参数的FILTERKEYS结构,该结构中的cbSize成员和参数uiParam的值应设为sizeof(FILTERKEYS)。

    SPI_SETFONTSMOOTHING:允许或禁止有字体平滑特性。该特性使用字体保真技术,通过在不同灰度级上涂画像素点来使得字体曲线显得更加平滑,为了允许有该特性,参数uiParam应设为TRUE值,否则为FALSE。对于Windows 95,只有在安装了Windows plusl才支持该标志。

    SPI_SETFOREGROUNDFLASHCOUNT:用于Windows 98和Windows NT 5.0及以后版本。设置SetForegroundWindow在拒绝前台切换申请时闪烁任务拦按钮的次数。

    SPI_SETFOREGROUNDLOCKTIMEOUT:用于Windows 98和Windows NT 5.0及以后版本。它用来设置在用户输入之后,系统禁止应用程序强行将自己进入前台期间的时间长度,单位为毫秒。参数pvParam设置这个新的时间限度值。

    SPI_SETGRADIENTCAPTIONS:用于Windows 98和Windows NT 5.0及以后版本。允许或禁止窗口标题栏有倾斜效果。如果允许则将参数pvParam设置为TRUE,否则设为FALSE。有关倾斜效果方面更多信息,请参考GetSysColor函数。


    SPI_SETGRIDGRANULARITY:将桌面缩放时网格的颗粒度值设置为参数uiParam中的值。

    SPI_SETHANDHELD:内部使用,应用程序不应使用该值。

    SPI_SETHIGHCONTRAST:用于Windows 95及以后版本、Windows NT 5.0及以后版本。设置HighContrast可访问特性的参数。参数pvParam必须指向HIGHCONTRAST结构,该结构包含新的参数。该结构中的cbSize成员及参数uiParam的值设为sizeof(HIGHCONTRAST)。

    SPI_SETICONMETRICS:设置与图标有关的信息。参数pvParam必须指向包含新参数的ICONMETRICS结构,另外还要将参数uiParam和该结构中的cbSize成员的值设置为sizeof(ICONMETRICS)。

    SPI_SETICONS:重新加载系统图标。参数uiParam的值应设为0,而pvParam参数应设为NULL。

    SPI_SETICONTITLELOGFONT:设置用于图标标题的字体。参数uiParam指定为logfont结构的大小,而参数pvParam必须指向一个LOGFONT结构。

    SPI_SETICONTITLEWRAP:打开或关闭图标标题折行功能。若想打开折行功能,则把参数uiParam设为TRUE,否则为FALSE。

    SPI_SETKEYBOARDDELAY:设置键盘重复延迟。参数uiParam必须指定为0,1,2或3。其中0表示设置为最短延迟(大约 250ms)3,表示最大延迟(大约 1 秒)。与每个值对应的实际的延迟时间根据硬件情况有可能有些变化。

    SPI_SETKEYBOARDPREF:用于Windows 95及以后版本、Windows NT 5.0及以后版本,设置键盘优先序。如果用户依赖键盘而不是鼠标,那么可将参数uiParam指定为TRUE,否则设为FALSE,并且要求应用程序显示而不隐蔽键盘接口。

    SPI_SETKEYBOARDSPEED:设置键盘重击键速度。参数uiParam必须指定一个从0到31的值,其中0表示设置成最快速度(大约30次/秒),31表示设置为最低速度(大约2.5次/秒),实际的重速率与硬件有关,而且可能变动幅度高达20%。如果uiParam大于31,那么该参数仍设置为31。

    SPI_SETLANGTOGGLE:为输入语言间切换设置热键集。参数uiParam和pvParam不用。该值通过读取注册表来设置键盘属性表单中的快捷键。在使用该标志之前必须设置注册表,注册表中的路径是""1""=Alt+shift,""2""=Ctrl+shift,""3""=none(无)。

    SPI_SETLISTBOXSMOOTHSCROLLING:用于Windows 98和Windows NT 5.0及以后版本。允许或不许列表栏有平滑滚动效果。参数pvParam设置为TRUE表示允许有平滑滚动效果,为FALSE则表示禁止。

    SPI_SETLOWPOWERACTIVE:激活或关闭低电压屏幕保护特性。参数uiParam设为1表示激活,0表示关闭。参数pvParam必须设为NULL。对于Windows 98,该标志支持16位和32位应用程序。对于Windows 95,该标志只支持16位应用程序。对于Windows NT.该标志只支持NT 5.0及以后版本的32位应用程序,不支持16位应用程序。

    SPI_SETLOWPOWERTIMEOUT:用于设置低电压屏幕保护中的时间值(也称超时值,即在超过某一时间段后自动进行屏幕保护),单位为秒。uiParam参数用来指定这个新值。参数pvParam必须为NULL。对于Windows98,该标志支持16位和32位应用程序。对于Windows 95,该标志只支持16位应用程序。对于Windows NT该标志只支持NT 5.0及以后版本的32位应用程序,不支持16位应用程序。

    SPI_SETMENUDROPALIGNMENT:设置弹出或菜单的对齐方式。参数uiParam指定为TRUE时表示是右对齐,FALSE时为左对齐。

    SPI_SETMINIMIZEDMETRICS:设置与最小化窗口有关的数据信息,参数pvParam必须指向包含新参数的MINIMIZEDMETRICS结构。该结构中的cbSize成员与uiParam参数的值应设为sizeof(MINMIZEDMETRICS)。

    SPI_SETMOUSE:设置鼠标的两个阀值和加速率。参数pvParam必须指向一个长度为3的数组,以指定这些值。详细请参考mouse_event。

    SPI_SETMOUSEBUTTONSWAP:调换或恢复鼠标左右按钮的含义,为FALSE时表示恢复原来的含义。

    SPI_SETMOUSEHOVERHEGHT:用于Windows 98和Windows NT 4.0及以后版本。设置鼠标指针停留区域的高度,以像素为单位。鼠标指针在此区域停留是为了让TrackMouseEvent产生一条WM_MUOSEHOVER消息,参数uiParam用来设置此高度值。

    SPI_SETMOUSEHOVERTIME:用于Windows 98和Windows NT 4.0及以后版本。设置鼠标指针为了让TrackMouseEvent产生WM_MOUSEHOVER事件而在停留区域应停留的时间。该标志只有在将调用dwHoverTime参数中的HOVER_DEFAULT值传送到TrackMouseEvent时才使用。参数uiParam设置这个新的时间值。

    SPI_SETMOUSEHOVERWIDTH:用于Windows 98和Windows NT 4.0及以后版本。设置鼠标指针停留区域的宽度,以像素为单位。参数uiParam设置该新值。

    SPI_SETMOUSEKEYS:设置MouseKeys易用特性的参数。参数pvParam必须指向包含新参数的MOUSEKEYS结构。结构中的cbSize成员与参数uiParam的值应设为sizeof(MOUSEKEYS)。

    SPI_SETMOUSESPEED:用于Windows NT 5.0及以后的版本和Windows 98,设置当前鼠标速度。参数pvParam必须指向一个1(最慢)至20(最快)之间的整数。缺省值是10。一般可以使用鼠标控制面板应用程序来设置该值。

    SPI_SETMOUSETRAILS:用于Windows 95及以后版本:允许或禁止有MoouseTrails(鼠标轨迹)特性。该特性通过简短地显示鼠标光标轨迹,并迅速地擦除它们来提高鼠标的可见度。禁止该特性可将参数uiParam设为0或1,允许时,将uiParam设置为一个大于1的数值,该值表示轨迹中画出的光标个数。

    SPI_SETNONCLIENTMETRICS:设置与非最小化窗口的非客区有关的数据信息,参数pvParam必须指向NONCLIENTMETRICS结构,该结构包含新的参数。其成员cbSzie和参数uiParam的值应设为sizeof(NONCLIENTMETRICS)。

    SPI_SETPENWINDOWS;用于Windows 95及以后版本:指定是否加载笔窗口,当加载时,参数uiParam设为TRUE,不加载时为FALSE。参数pvParam为NULL。

    SPI_SETPOWEROFFACTIVE:激活或关闭屏幕保护特性参数。uiParam设为1表示激活,0表示关闭。参数pvParam必须为NULL。对于Windows 98,该标志支持16位和32位应用程序。对于Windows 95,该标志只支持16位应用程序。对于Windows NT,该标志支持Windows NT 5.0及以后版本的32位应用程序,不支持16位应用程序。

    SPI_SETPOWEROFFTIMEOUT:设置用于关闭屏幕保护所需的时间值(也称超时值)。参数uiParam指定该值。参数pvParam必须为NULL。对于Windows 98.该标志支持16位和32位应用程序。对于Windows 95,该标志只支持16位应用程序。对于Windows NT,该标志支持Windows NT 5.0及以后版本上的32位应用程序,不支持16位应用程序。

    SPI_SETSCREENREADER;用于Windows 95及以后版本、Windows NT 5.0及以后版本,表示屏幕审阅程序是否运行。参数uiparm指定为TRUE表示运行该程序,FALSE则不运行。

    SPI_SETSCREENSAVERRUNNING:用于Windows 95及以后版本,内部使用。应用程序不应该使用此标志SPI_SETSETSCREENSAVETIMEOUT:参数uiParam值为屏幕保护器时间限度值。该值是一个时间量,以秒为单位,在屏幕保护器激活之前,系统应该一直是空闲的,超过这个值就激活屏幕保护器。

    SPI_SETSERIALKEYS:用于Windows 95及以后版本:设置SerialKeys易用特性的参数。参数pvParam必须指向包含新参数的SERIALKEYS结构,其成员cbSize和参数uiParam应设为sizeof(SERIALKEYS)。

    SPI_SETSHOWSOUNDS:将ShowSounds易用特性设置为打开或关闭。参数uiParam指定为TRUE时表示打开,FALSE表示关闭。

    SPI_SETSNAPTODEFBUTTON:用于Windows NT 4.0及以后版本、Windows 98。允许或禁止有snap-to-default-button(跳转至缺省按钮)特性。如果允许,那么鼠标光标会自动移至缺省按钮上,例如对话柜中的OK或""apply""按钮。参数uiParam设为TRUE表示允许该特性,FALSE表示禁止。

    SPI_SETSOUNDSENTRY:设置SOUNDSENTRY易用特性的参数。参数pvParam必须指向SOUNDSENTRY结构,该结构包含新参数,其成员cbSize和参数uiParam的值应设为sizeof(SOUNDSENTRY)。

    SPI_SETSTICKYKEYS:设置stickykeys可访问特性的参数。参数pvParam必须指向包含新参数的stickykeys结构,其成员cbSize和uiParam参数的值要设为sizeof(STICKYKEYS)。

    SPI_SETSWITCHTASKDISABLE:用于Windows NT 5.0及以后版本,允许或禁止有Alt+Tab和Alt+Esc任务切换特性。参数uiParam设为1表示允许有该特性,设为0则表示禁止。缺省情况下是允许有任务切换特性的。

    SPI_SETTOGGLEKEYS:设置togglekeys可访问特性的参数,参数PvParam必须指向TOGGLEKEYS结构,该结构中包含新的参数。其成员cbSize和参数uiParam的值要设为sizeof(togglekeys)。

    SPI_SETWHEELSCROOLLLINES:用于Windows 98和Windows NT 4.O及以后版本。设置当鼠标轨迹球转动时

    要滚动的行数,滚动的行数是由参数uiParam设置的,该行数是在鼠标轨迹球滚动,井且没有使用修改键时的滚动行数。如果该数值为0,那么不会发生滚动,如果滚动行数比可见到的行数要大,尤其如果是WHEEL_PAGESCROLL(#defined sa UINT_MAX),那么滚动操作应该被解释成在滚动条的下一页或上一页区点击一次。

    SPI_SETWORKAREA:设置工作区域大小。工作区是指屏幕上没有被系统任务栏或桌面应用程序桌面工具遮盖的部分。参数pvParam是一个指针。指向RECT结构,该结构规定新的矩形工作区域,它是以虚拟屏幕坐标来表达的。在多显示器系统中,该函数用来设置包含特定矩形的显示器工作区域。如果PvParam为NULL,那么该函数将主显示器的工作区域设为全屏。

    uiParam:与查询或设置的系统参数有关。关于系统级参数的详情,请参考uiAction参数。否则在没有指明情况下,必须将该参数指定为O。

    pvParam:与查询或设置的系统参数有关。关于系统级参数的详情,请参考uiAction参数。否则在没有指明情况下,必须将该参数指定为NULL。

    fWinlni:如果设置系统参数,则它用来指定是否更新用户配置文件(Profile)。亦或是否要将WM_SETTINGCHANGE消息广播给所有顶层窗口,以通知它们新的变化内容。该参数可以是0或下列取值之一:

    SPIF_UPDATEINIFILE:把新的系统参数的设置内容写入用户配置文件。

    SPIF_SENDCHANGED:在更新用户配置文件之后广播WM_SETTINGCHANGE消息。

    SPI_SENDWININICHANGE与 SPIF_SENDCHANGE一样。

    返回值:如果函数调用成功,返回值非零:如果函数调用失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。

    备注:该函数一般与应用程序,例如控制面板一起使用。它可以允许用户对Windows任意进行定制。

    盘布局名称是从对应于布局的16进制语言标识符引生而来的。例如,美国英语(U.S.Englisth)的语言标识符为"" 0×0409"",则主美国英语键盘布局命名为""00000409""其他的键盘布局如Dvotak等,命名为""00010409""、""00020409""等,关于此的列表参见MAKELANGID宏。

    Windows CE操作系统只支持下列uiAction值:

    SPI_GETBATTERYIDLETIMEOUT:在WINDOWS CE没有因用户操作而挂起之前,干电池电源能坚持给系统供电的时间量可以使用该标志得到。以秒为单位,如果pvParam为0,那么该标志被忽略。

    SPI_GETEXTERNALIDLETIMEOUT:在 Windows CE没有因用户操作而挂起之前,交流电源能坚持给系统供电时间的时间量可以使用该标志得到。参数pvParam指向一个DWORD类型变量,以返回时间值,单位为秒。如果pvParam为0,那么该标志被忽略。

    SPI_GETMOUSE:检索鼠标的两个阈值和速度。

    SPI_GETOEMINFO:返回一个字符串,该字符串包含型号和制造商名称。参数uiParam指定为pvParam参数中缓冲区的长度,在成功返回时,参数pvParam中包含Unicode字符集中的字符串。

    SPI_GETPLATFORMTYPE:返回一个指定Windows CE设备类型的字符串,例如""H/PC""。参数uiParam规定pvParam参数缓冲区的长度,后者在成功返回时包含一个Unicode字符集中的字符串。该字符串允许象 H/PC EXPLORER一样的应用程序来确定设备类型。

    SPI_GETWAKEUPDLETIMEOUT:在用户通知重新激活某个挂起的设备之后,可获取的Windows CE延缓响应的时间量。参数pvParam指向一个DWORD类型变量以返回时间值,单位为秒。如果pvParam值为0那么该标志被忽略。

    SPI_GETWORKAREA:检索工作区大小。工作区是指没有被任务遮盖的屏幕部分。

    SPI_SETBATTERYidletimeout:在Windows CE没有因用户操作而挂起之前,电池电源能坚持给系统供电的时间量可以使用该标志来设置。只要键盘或触摸屏处在活动状态(有输入),那么Windows CE操作系统及电池电源仍将工作。参数uiParam指定要设置的时间,单位为秒。如果uiParam设置为0,那么该标志被忽略。

    SPI_SETEXTERNALIDLETIMEOUT:在Windows CE没有因用户操作而挂起之前,交流电源能坚持给系统供电的时间量可以使用该标志来设置。只要键盘或触摸屏幕处在活动状态,那么Windows CE操作系统及AC电源仍将工作。参数uiParam指定要设置的时间,单位为秒。如果uiParam设为0,那么该标志被忽略。SPL_SETMOUSE:设置鼠标的两个阈值和速度。

    SPI_SETWAKEUPIDLETIMEOUT:在用户通知重新激活某个挂起的设备之后,Windows CE延缓响应的时间长度量可使用该标志来设置。参数uiParam指定这个时间量,单位为秒,如果uiParam设置为0,那么该标志被忽略。

    SPI_SETWORKAREA设置工作区大小,工作区是指没有被任务条遮盖的屏幕部分。如果用来获取平台类型或OEM信息串的pvParam缓冲区太小,那么该函数会调用失败,并出现错误值ERROR_INSUFFICENT_BUFFER。Windows CE只支持该函数的UNICODE版。Windows CE不支持参数fWinlni的取值为SPIF_SENDWININICHANGE的情形。

    速查:Windows NT:3.1及以上版本;Window:95及以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。

" Yes Yes Yes
1381 SystemTimeToFileTime 转换系统时间为64位时间  No Yes Yes
1382 SystemTimeToTzSpecificLocalTime   No Yes Yes
1383 TabbedTextOut 输出字符串  Yes Yes Yes
1384 TerminateProcess 中止进程  No Yes Yes
1385 TerminateThread 中止线索  No Yes Yes
1386 TextOut 输出字符串  Yes Yes Yes
1387 TileWindows 并列显示指定父窗口的各指定子窗口 "    函数功能:该函数并列显示指定父窗口的各指定子窗口。

    函数原型: WORD WINAPI TileWindows(
                HWND hwndParent,        // handle of parent window
                UINT wHow,              // types of windows not to arrange
                CONST RECT *lpRect,     // rectangle to arrange windows in
                UINT cKids,             // number of windows to arrange
                const HWND FAR *lpKids  // array of window handles
               );

    参数:

    hWndParent: 窗口句柄。如果该参数为NULL,则假定为桌面窗口。

    wHow:指定不参加安排的窗口类型,及是水平并到显示还是或垂直并到显示。该参数可以为下列值之一,可以选择与MDITILE_SKIPDISABLED组合以防止停用的的MDI的子窗口被并到显示:

    MDITILE_HORIZONAL:水平并到显示窗口。MDITILE_VERTICAL:垂直并到显示窗口。

    lpRect:指向RECT结构的指针,该结构以客户坐标定义矩形区域,在这个区域内排列窗口。如果该参数为NULL,则使用父窗口的客户区。

    cKids:指出在lpKidS参数中给出的数组的成员个数。如果lpKids为NULL则该参数被忽略。

    lpKids:指向被排列的子窗口的句柄数组的指针。如果该参数为NULL,则指定窗口(或桌面窗口)的所有子窗口均被排列。

    返回值:如果函数成功,返回值是被安排的窗口数目;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

    备注:调用TileWindows函数使所有最大化的窗口恢复到原来的尺寸。

    速查:Windows NT:4.o以上版本;Windows:95以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

" No Yes Yes
1388 timeBeginPeriod 设置计时器分辨率  No Yes Yes
1389 timeEndPeriod 清除计时器分辨率  No Yes Yes
1390 timeGetDevCaps 返回计时器性能  No Yes Yes
1391 timeGetSystemTime 返回WINDOWS运行时间  No Yes Yes
1392 timeGetTime 返回WINDOWS运行时间  No Yes Yes
1393 timeKillEvent 中止计时器事件  No Yes Yes
1394 timeSetEvent 设置计时回调事件  No Yes Yes
1395 TlsAlloc 分配线索本地存储索引  No Yes Yes
1396 TlsFree 释放线索本地存储索引  No Yes Yes
1397 TlsGetValue 返回TLS值  No Yes Yes
1398 TlsSetValue 设置TLS值  No Yes Yes
1399 ToAscii 转换虚拟关键字代码为WINDOWS字符 "    函数功能:该函数将指定的虚拟键码和键盘状态翻译为相应的字符或字符串。该函数使用由给定的键盘布局句柄标识的物理键盘布局和输入语言来翻译代码。

    函数原型:int ToAscii(
               UINT uVirtKey,           // virtual-key code
               UINT uScanCode,          // scan code
               PBYTE lpKeyState,        // address of key-state array
               LPWORD lpChar,           // buffer for translated key
               UINT uFlags              // active-menu flag
              );

    参数:

    nVirtkey:指定要翻译的虚拟键码。

    uScanCode:定义被翻译键的硬件扫描码。若该键处于up状态,则该值的最高位被设置。

    LpKeyState:指向包含当前键盘状态的一个256字节数组。数组的每个成员包含一个键的状态。若某字节的最高位被设置,则该键处于down状态。若最低位被设置,则表明该键被触发。在此函数中,仅有capslock键的触发位是相关的。NumloCk和scroll loCk键的触发状态将被忽略。

    lpChar:指向接受翻译所得字符或字符串的缓冲区。

    uFlags:定义一个菜单是否处于激活状态。若一菜单是活动的,则该参数为1,否则为0。

    返回值:若定义的键为死键,则返回值为负值。否则,返回值应为如下的值:

    O:对于当前键盘状态,所定义的虚拟键没有翻译。

    1:一个字符被拷贝到缓冲区。

    2:两个字符被拷贝到缓冲区。当一个存储在键盘布局中的死键(重音或双音字符)无法与所定义的虚拟键形成一个单字符时,通常会返回该值。

    备注:若键盘布局中原先存放了一个死键,则提供给ToAscii函数的参数可能不足以翻译虚拟键码。

    典型地,ToAscii函数执行基于虚拟键码的翻译。然而,在某些情况下,uScanCode参数的第15位可能被用来区分一个键的按下状态和释放状态。扫描码用于翻译Alt+数字键的键组合。

    尽管NUMLOCK事实影响键盘状态的触发键,TOAscii将忽略lpKeyState的触发设置(VK_NUMLOCK),因为仅uVirtKey参数就足以区分光标移动键(VL_HOME,INSERT,等等)和数字键(VK_DECIMAL,VK_NUMPADO_VK_NUMPAD9)。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Wiodows CE:不支持;头文件:Winuser.h;库文件:user32.lib。

" Yes Yes Yes
1400 ToAsciiEx 将指定的虚拟键码译为相应的字符 "    函数功能:该函数将指定的虚拟键码和键盘状态翻译为相应的字符或字符串。该函数使用由给定的键盘布局句柄标识的物理键盘布局和输入语言来翻译代码。

    函数原型:int ToAsciiEx(
               UINT uVirtKey,           // virtual-key code
               UINT uScanCode,          // scan code
               PBYTE lpKeyState,        // address of key-state array
               LPWORD lpChar,           // buffer for translated key
               UINT uFlags,             // active-menu flag
               HKL dwhkl                // keyboard layout handle
   );
    参数:

    nVirtkey:指定要翻译的虚拟键码。

    uScanCode:定义被翻译键的硬件扫描码。若该键处于up状态,则该值的最高位被设置。

    lpKeyState:指向包含当前键盘状态的一个256字节数组。数组的每个成员包含一个键的状态。若某字节的最高位被设置,则该键处于down状态。若最低位被设置,则表明该键被触发。在此函数中,仅有Capslock键的触发位是相关的。Numlock和Scroll lock键的触发状态将被忽略。

    lpchar:指向接受翻译所得字符或字符串的缓冲区。

    uFlags:定义一个菜单是否处于激活状态。若一菜单是活动的,则该参数为1,否则为0。

    dwnkl:翻译给定代码所使用的键盘布局的句柄。该参数可以是先前LoadKeyboardLayout函数返回的键盘布局句柄。

    返回值:同上。

    速查:Windows NT:4.0以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winustr.n;库文件:user32.lib。

" No Yes Yes
1401 ToUnicode 转换虚拟关键字代码为ANSI字符 "    函数功能:该函数将给定的虚拟键码和键盘状态翻译成相应的字符或字符串。

    函数原型:int ToUnicode(
               UINT wVirtKey,           // virtual-key code
               UINT wScanCode,          // scan code
               PBYTE lpKeyState,        // address of key-state array
               LPWSTR pwszBuff,         // buffer for translated key
               int cchBuff,             // size of translated key buffer
               UINT wFlags              // set of function-conditioning flags
   );

    参数:

    wVirtKey:定义将被翻译的虚拟键码。

    wScanCode:定义被翻译键的硬件扫描码。若该值的最高为被置为1,则该键处于Up状态。

    lpKeyState:指向一个包含当前键盘状态的256字节数组。数组中的每个成员(字节)包含了一个键的状态。若一字节的最高位被置为1,则该键处于down状态。

    PwszBuff:接受翻译所得Unicode宇符或字符串的缓冲区指针。

    cchBuff:定义pwszBuff参数指向的缓冲区中字符串的大小。

    wFlags:形成函数执行条件的一个标志域集。若一个菜单处于激活状态,则将第0位设置为1。第1位到第31位保留。

    返回值:该函数返回一个如下的值:

    -1:指定的虚拟键码是死键(重音或双音字符)。即使已敲击了几个字符,且这几个字符已存储在键盘状态中时,也将忽略键盘布局,返回该值。如果可能的话,即使对于Unicode键盘布局,该函数也己给出了一个将死键字符写入pwszBuff参数定义的缓冲区的间隔形式。例如,函数写入字符SPACING ACUTE

    (0x00B4),而不是写入字符NON_SPACING ACUTE(0x0301)。

    0:对于当前键盘状态,所定义的键没有翻译。没有写人任何东西到pwszBuff参数定义的缓冲区。

    1:一个字符被写入pwszBuff参数定义的缓冲区

    2:两个或两个以上字符被写入pwszBuff参数定义的缓冲区。发生这种情况最常见的原因是由于存放在键盘布局中的一个死键无法由指定的虚拟键码组合成单键字符。

    备注:若键盘布局中原先存放了一个死键,则提供给ToUnicode函数的参数可能不足以翻译虚拟键码。典型地,ToUnicode函数只执行基于虚拟键码的翻译。然而,在某些情况下,wScanCode参数的第15位可能被用来区分一个键的按下状态和释放状态。

    速查:Windows NT:3.1及以上版本;Windows:不支持;Windows CE:不支持;头文件:winuser.h;库文件: user32.lib。

" No Yes Yes
1402 TrackPopupMenu 显示并跟踪弹出式菜单 "    函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。

    函数原型:BOOL TrackPopupMenu(
               HMENU hMenu,             // handle of shortcut menu
               UINT uFlags,             // screen-position and mouse-button flags
               int x,                   // horizontal position, in screen coordinates
               int y,                   // vertical position, in screen coordinates
               int nReserved,           // reserved, must be zero
               HWND hWnd,               // handle of owner window
               CONST RECT *prcRect      // points to RECT that specifies no-dismissal area
              );

    参数

    hMenu:被显示的快捷菜单的句柄。此句柄可为调用CreatePopupMenu创建的新快捷菜单的句柄,也可以为调用GetSubMenu取得的与一个已存在菜单项相联系的子菜单的句柄。

    uFlags:一种指定功能选项的位标志。用下列标志位之一来确定函数如何水平放置快捷菜单:

    TPM_CENTERALLGN:若设置此标志,函数将按参数x指定的坐标水平居中放置快捷菜单。

    TPM_LEFTALLGN:若设置此标志,函数使快捷菜单的左边界与由参数X指定的坐标对齐。

    TPM_RIGHTALLGN:若设置此标志,函数使快捷菜单的右边界与由参数X指定的坐标对齐。

    用下列标志位之一来确定函数如何垂直放置快捷菜单:

    TPM_BOTTOMALLGN:若设置此标志,函数使快捷菜单的下边界与由参数y指定的坐标对齐。

    TPM_TOPALLGN:若设置此标志,函数使快捷菜单的上边界与由参数y指定的坐标对齐。

    TPM_VCENTERALLGN;若设置此标志,函数将按参数y指定的坐标垂直居中放置快捷菜单

    用下列标志位之一来确定在菜单没有父窗口的情况下用户的选择:

    TPM_NONOTIFY:若设置此标志,当用户单击菜单项时函数不发送通知消息。

    TPM_RETURNCMD;若设置此标志;函数将用户所选菜单项的标识符返回到返回值里。

    用下列标志位之一来确定在快捷菜单跟踪哪一个鼠标键:

    TPM_LEFTBUTTON:若设置此标志,用户只能用鼠标左键选择菜单项。

    TPM_RIGHTBUTTON:若设置此标志,用户能用鼠标左、右键选择菜单项。

    X:在屏幕坐标下,快捷菜单的水平位置。

    Y:在屏幕坐标下,快捷菜单的垂直位置。

    nReserved:保留值,必须为零。

    hWnd:拥有快捷菜单的窗口的句柄。此窗口接收来自菜单的所有消息。函数返回前,此窗口不接受来自菜单的WM_COMMAND消息。

    如果在参数uFlags里指定了TPM_NONOTIFY值,此函数不向hWnd标识的窗口发消息。 但必须给hWnd里传一个窗口句柄,可以是应用程序里的任一个窗口句柄。

    PrcRect:未用。

    返回值:如果在参数uFlags里指定了TPM_RETURNCMD值,则返回值是用户选择的菜单项的标识符。如果用户未作选择就取消了菜单或发生了错误,则退回值是零。如果没在参数uFlags里指定TPM_RETURNCMD值,若函数调用成功,返回非零值,若函数调用失败,返回零。若想获得更多的错误信息,清调用GetLastError

    函数:

    备注:Windows CE不支持参数uFlags取下列值:TPM_NONOTIFY;TPM_LEFTBUTTON;TPM_RIGHTBUTTON。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。

" Yes Yes Yes
1403 TrackPopupMenuEx 显示并跟踪弹出式菜单 "    函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。

    函数原型:BOOL TrackPopupMenuEx(
               HMENU hmenu,  
               UINT fuFlags,  
               int x,  
               int y,  
               HWND hwnd,  
               LPTPMPARAMS lptpm 
              );

    参数:

    hMenu:被显示的快捷菜单的句柄。此句柄可为调用CreatePoPuPMenu创建的新快捷菜单的句柄,也可以为调用GetSubMenu取得的与一个已存在菜单项相联系的子菜单的句柄。

    uFlags:定位或其他选项。此参数可为零或取在函数CreatePopupMenu里所列的值,也可取下列之一值:

    TPM_HORIZONTAL:在不覆盖排斥矩形就不能在指定位置显示菜单时,系统将先考虑水平对齐的要求。

    TPM_VERTICAL:在不覆盖排斥矩形就不能在指定位置显示菜单时,系统将先考虑垂直对齐的要求。排斥矩形是指屏幕上菜单不能覆盖的部分,由Iptpm指定。

    X:在屏幕坐标下,快捷菜单的水平位置。

    Y:在屏幕坐标下,快捷菜单的垂直位置。

    hWnd:拥有快捷菜单的窗口的句柄。此窗口接收来自菜单的所有消息。函数返回前,此窗口不接受来自菜单的WM_COMMAND消息。

    如果在参数uFlags里指定了TPM_NONOTIFY值,此函数不向hwnd标识的窗口发消息。 但必须给hwnd里传一个窗口句柄,可以是应用程序里的任一个窗口句柄。

    lptpm:指向结构TPMPARAMS的指针,该结构指定屏幕上菜单不能覆盖的区域。此参数可为NULL。

    返回值:如果在参数UFlags里指定了TPM_RETURNCMD值,则返回值是用户选择的菜单项的标识符。如果用户未作选择就取消了菜单或发生了错误,则返回值是零。如果没在参数uFlags里指定TPM_RETURNCMD值,函数调用成功,返回非零值,若函数调用失败,返回零。若想获得更多的错误信息,请调用GetLastError

    函数。

    备注:Womdpws CE不支持参数uFlags取下列值:

    TPM_NONOTIFY;TPM_LEFTTBUTTON;TPM_RIGHTBUTTTON;TPM_HORIZONTAL;TPM_VERTICAL;

    参数lptpm必须设为NULL。

    速查:Windows NT:4.0及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。

" No Yes Yes
1404 TransactNamedPipe 读写命名管道  No Yes Yes
1405 TranslateAccelerator 翻译加速键表 "    函数功能:翻译加速键表。该函数处理菜单命令中的加速键。该函数将一个WM-DEYDOUN或WM-SYSDEYDOWN消息翻译或一个WM-COMMAND或WM-SYSCOMMAND消息(如果在给定的加速键表中有该键的入口),然后将WM-COMMAND或WM-SYSCOMMAND消息直接送到相应的窗口处理过程。

    TranslateAccelerator直到窗口过程处理完消息后才返回。

    函数原型:int TranslateAccelerator(HWND hWnd, HACCEL hAccTable, LPMSG lpMsg);

    参数:

    hWnd:窗口句柄,该窗口的消息将被翻译。

    hAccTable:加速键表句柄。加速键表必须由LoadAccelerators函数调用装入或由CreateAccd_eratorTable函数调用创建。

    lpMsg:MSG结构指针,MSG结构中包含了从使用GetMessage或PeekMessage函数调用线程消息队列中得到的消息内容。

    返回值:若函数调用成功,则返回非零值;若函数调用失败,则返回值为零。若要获得更多的错误信息,可调用GetLastError函数。

    备注:为了将该函数发送的消息与菜单或控制发送的消息区别开来,使WM_COMMAND或WM_SYSCOMMAND消息的wParam参数的高位字值为1。用于从窗口菜单中选择菜单项的加速键组合被翻译成WM-SYSCOMMAND消息:所有其他的加速键组合被翻译成WM-COMMAND。若TransLateAccelerator返回非零值且消息已被翻译,应用程序就不能调用TranslateMessage函数对消息再做处理。每个加速键不一定都对应于菜单命令。若加速键命令对应于菜单项,则WM-INITMEMU和WM-INITMENUPOPUP消息将被发送到应用程序,就好像用户正试图显示该菜单。然而,如下的任一条件成立时,这些消息将不被发送:窗口被禁止,菜单项被禁止。

    加速键组合无相应的窗口菜单项且窗口己被最小化。鼠标抓取有效。有关鼠标抓取消息,参看SetCapture函数。若指定的窗口为活动窗口且窗口无键盘焦点(当窗口最小化时一般是这种情况),TranslatMssage翻译WM-SYSDEYUP和WM-SYSKEYDOWN消息而不是WM-DEYUP和WM-DEYDOWN消息。

    当按下相应于某菜单项的加速键,而包含该菜单的窗口又已被最小化时,TranslateMessage不发送WM-COMMAND消息。但是,若按下与窗口菜单或某单项的任一项均不对应的加速键时,TranslateMessage将发送一WM-COMMAND消息,即使窗口己被最小化。

    Windows CE:所有的加速键消息被翻译成WM-COMMAND消息;Windows CE不支持WM-SYSCOMMAND消息。

    速查:Windows NT:3.1 及以上版本;Windows:95及以上版本:Windows CE:1.0及以上版本;头文件:windows.h;库文件:user32.lib; Unicode:在Windows NT实现为Unicode和ANSI两种版本。

" Yes Yes Yes
1406 TranslateCharsetInfo 转换结构为给定字符串  No Yes Yes
1407 TranslateMDISysAccel 处理MDI键盘加速器 "    函数功能:该函数处理与指定MDI客户窗口相联系的多文档接口(MDI)子窗口的菜单命令的加速键响应。该函数转换WM_KEYUP和WM_KEYDOWN消息为WM_SYSCOMMAND消息,并把它的发送给相应MDI子窗口。

    函数原型:BOOL TranslateMDISysAccel(HWND hWndClient, LPMSG lpMsg);

    参数:

    hWndClient:MDI客户窗口句柄。

    lpMsg:由GetMessage或PeedMessage函数检索到的消息的指针,这个消息必须为MSG结构,并包含来自应用程序消息队列的消息信息。

    返回值:如果消息被转换为系统命令,则返回值为非零值。如果消息未转换为系统命令,则返回值为0。

    速查:Windows NT: 3.1及以上版本;Windows:95及以上版本:Windows CE:不支持;头文件:winuser.h;

    输入库:user32.lib。

" Yes Yes Yes
1408 TranslateMessage 将虚拟键消息转换为字符消息 "    函数功能:该函数将虚拟键消息转换为字符消息。字符消息被寄送到调用线程的消息队列里,当下一次线程调用函数GetMessage或PeekMessage时被读出。

    函数原型:BOOL TranslateMessage(CONST MSG *lpMsg);

    参数:

    lpMsg:指向含有消息的MSG结构的指针,该结构里含有用函数GetMessage或PeekMessage从调用线程的消息队列里取得的消息信息。

    返回值:如果消息被转换(即,字符消息被寄送到调用线程的消息队列里),返回非零值。如果消息是WM_kEYDOWN,WM_KEYUP WM_SYSKEYDOWN或WM_SYSKEYUP,返回非零值,不考虑转换。如果消息没被转换(即,字符消息没被寄送到调用线程的消息队列里),返回值是零。

    备注:此函数不修改由参数IpMsg指向的消息。

    WM_KEYDOWN和WM_KEYUP组合产生一个WM_CHAR或WM_DEADCHAR消息。

    WM_SYSKEYDOWN和WM_SYSKEYUP组合产生一个SYSWM_CHAR或 WM_SYSDEADCHAR消息。TtanslateMessage为那些由键盘驱动器映射为ASCll字符的键产生WM_CHAR消息。

    如果应用程序为其他用途处理虚拟键消息,不应调用TranslateMessage。例如,如果件ThranslateAccelerator返回一个非零值,应用程序不应调用TranslateMessage。

    Windows CE:Windows CE不支持扫描码或扩展键标志,因此,不支持由TranslateMessage产生的WM_CHAR消息中的IKeyData参数(IParam)取值16-24。

    TranslateMessage只能用于转换调用GetMessage或PeekMessage接收的消息。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。

" Yes Yes Yes
1409 TransmitCommChar 在传输队列中加入字符  Yes Yes Yes
1410 UnhandledExceptionFilter 筛选异常条件  No Yes Yes
1411 UnhookWindowsHook 删除筛选函数  No Yes Yes
1412 UnhookWindowsHookEx 从钩子链中删除函数  Yes Yes Yes
1413 UnionRect 关联两个矩形  Yes Yes Yes
1414 UnloadKeyboardLayout 删除键盘布局 "    函数功能:该函数移去一个键盘布局。

    函数原型:BOOL UnloadKeyboardLayout(HKL hkl);

    参数:

    hkl:将被卸载的键盘布局句柄。

    返回值:若函数调用成功,返回值不为0。若函数调用失败,返回值为0。函数调用失败可有以下几种原因:传递了一个无效的键盘布局句柄。键盘布局己被预先调入。键盘布局正被使用。

    若要获得更详尽的错误信息,可以调用GetLastError函数。

    备注:Windows 95:UnloadKeyboardLayout不能卸载系统缺省的键盘布局。这样可以确保对于用户敲入的shell命令和文件系统使用的名字总有一个合适的字符集可用。

    Windows NT:UnloadKeyboardLayout能够卸载系统缺省的键盘布局。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

" No Yes Yes
1415 UnlockFile 开锁文件  No Yes Yes
1416 UnlockFileEx 开锁文件  No Yes Yes
1417 UnlockServiceDatabase 开锁数据库  No Yes Yes
1418 UnmapViewOfFile 停止文件查看映像  No Yes Yes
1419 UnpackDDElParam 从DDE消息IPARAM中获取数据  No Yes Yes
1420 UnrealizeObject 复位逻辑调色板  Yes Yes Yes
1421 UnregisterClass 删除窗口类  Yes Yes Yes
1422 UnregisterHotKey 释放热键 "    函数功能:该函数释放调用线程先前登记的热键。

    函数原型:BOOL UnregisterHotKey(HWND hWnd, int id);

    参数:

    hWnd:与被释放的热键相关的窗口句柄。若热键不与窗口相关,则该参数为NULL。

    id:定义被释放的热键的标识符。

    返回值:若函数调用成功,返回值不为0。若函数调用失败,返回值为0。若要获得更多的错误信息,可以调用GetLastError函数。

    速查:Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib。

" No Yes Yes
1423 UpdateColors 更新颜色  Yes Yes Yes
1424 UpdateResource 更新资源 "    函数功能:该函数增加,删除,或替代某可执行文件中的资源。

    函数原型:BOOL UpdateResource(
               HANDLE hUpdate,        // update-file handle
               LPCTSTR lpType,        // address of resource type to update
               LPCTSTR lpName,        // address of resource name to update 
               WORD wLanguage,        // language identifier of resource
               LPVOID lpData,         // address of resource data
               DWORD cbData           // length of resource data, in bytes
              );

    参数:

    hUpdate:指定更新文件句柄。此句柄由BeginUpdateResource函数返回。

    lpType:指向说明将被更新的资源类型的字符串,它以NULL为终止符。这个参数可以是一个通过宏MAKENTRESOURCE传递的整数值,含义参见EnumResLangProc\lpType。

    lpName:指向说明待被更新的资源名称的字符串,它以NULL为终止符。这个参数可以是一个通过宏MAKEINTRESOURCE传递的整数值。

    wLanguage:指定将被更新资源的语言标识。要了解基本的语言标识符以及由这些标识符组成的字语言标识符的列表,可参见宏MAKELANGID。

    lpData:指向被插入可执行文件的资源数据的指针。如果资源是预定义类型值之一,那么数据必须是有效且适当排列的。注意这是存储在可执行文件中原始的一进制数据,而不是由Loadlcon,LoadString或其他装载特殊资源函数提供的数据。所有包含字符串、文本的数据必须是Unicode格式;IpData不能指向ANSI数据。

    如果lpData为NULL,所指定的资源将从可执行文件中被删除。

    cbData:指定lpData中的资源数据数据大小,以字节计数。

    返回值:如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。

    注意:应用程序重复使用UpdateResource去改变资源数据。每次UpdateResource调用都要占用系统内部的一个增加、删除、替代的列表,而实际上并没有将数据写到可执行文件中。应用程序必须通过使用EndUpdateResource函数将每次积累的变化写入可执行文件中。

    速查:Windows NT 3.1以上,头文件:winbase.h;库文件:kerne132.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

" No Yes Yes
1425 UpdateWindow 更新窗口的客户区域  Yes Yes Yes
1426 ValidateRect 删除矩形  Yes Yes Yes
1427 ValidateRgn 删除区域  Yes Yes Yes
1428 VerFindFile 确定文件安装路径  No Yes Yes
1429 VerInstallFile 安装文件  No Yes Yes
1430 VerLanguageName 将语言ID转换为文本描述  No Yes Yes
1431 VerQueryValue 获取资源项目  No Yes Yes
1432 VirtualAlloc 保留虚拟页  No Yes Yes
1433 VirtualFree 释放虚拟页  No Yes Yes
1434 VirtualLock 锁定虚拟页  No Yes Yes
1435 VirtualProtect 修改虚拟保护  No Yes Yes
1436 VirtualProtectEx 修改虚拟保护  No Yes Yes
1437 VirtualQuery 返回虚拟信息  No Yes Yes
1438 VirtualQueryEx 返回虚拟保护  No Yes Yes
1439 VirtualUnlock 开锁虚拟页  No Yes Yes
1440 VkKeyScan 将字符转换为虚拟关键字代码 "    函数功能:该函数将一个字符翻译成相应的虚拟键码和对于当前键盘的转换状态。该函数己被VkKeyScanEx函数所替代。仍然可以使用VkKeyscan函数,但是不必再定义键盘布局。

    函数原型:SHORT VkKeyScan(TCHAR ch);

    参数:

    ch:定义被翻译成虚拟键码的字符。

    返回值:若函数调用成功,则返回值的低位字节中包含了虚拟键码,高位字节中包含了上挡状态,这些状态可以是如下标志位的组合:

    1:按下的可以是任一Shift键。2:按下的可以是任一Ctrl键。

    4:按下的可以是任一AIt键。8:按下的是Hankaku键。

    16:保留(由键盘驱动程序定义)。32:保留(由键盘驱动程序定义)。

    若函数不能将传递的字符代码翻译成一个按键,则低位与高位字节将均置为_1。

    备注:对于使用右手Alt键作为Shift键的键盘布局(例如法语键盘布局),转换状态由值6来表示,因为右手Alt键在内部被翻译为Ctrl+Alt。

    数字键盘(VK_NUMPAD0 --VK_NUMPAD9)的翻译被忽略掉了。该函数仅主键盘部分的字符翻译为相应的击键动作。例如,字符“7”被翻译成VK_7,而不是VK_NUMPAD7。

    应用程序使用该函数通过发送WM_KEYUP和WM_KEYDOWN消息来传送字符。

    速查:Windows NT:3.7及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

" Yes Yes Yes
1441 VkKeyScanEx 将字符转换为虚拟关键字代码 "    函数功能:该函数将一个字符翻译成相应的虚拟键码和对于当前键盘的上挡状态。该函数使用由给定的键盘布局句柄标识的物理键盘布局和输入语言来翻译字符。

    函数原型:SHORT VkKeyScanEx(TCHA ch, HKL dwhkf);

    参数:

    ch:定义被翻译成虚拟键码的字符。

    Dwhkl:用于翻译字符的键盘布局句柄。该参数值可以是任意先前由LoadKeyboardLayout函数返回的键盘布局句柄。

    返回值:同VkKeyScan。

    速查: Windows NT:4.0及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib; Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

" No Yes Yes
1442 WNetAddConnection 重定向本地设备网络资源  Yes Yes Yes
1443 WNetAddConnection2 重定向本地设备网络资源  No Yes Yes
1444 WNetCancelConnection 断开网络连接  No Yes Yes
1445 WNetCancelConnection2 断开网络连接  Yes Yes Yes
1446 WNetCloseEnum 结束网络资源列表  No Yes Yes
1447 WNetConnectionDialog 开始网络连接对话框  No Yes Yes
1448 WNetDisconnectDialog 断开网络对话框  No Yes Yes
1449 WNetEnumResource 继续列表网络资源  No Yes Yes
1450 WNetGetConnection 获取网络资源名  Yes Yes Yes
1451 WNetGetLastError 返回网络函数最近错误  No Yes Yes
1452 WNetGetUniversalName   No Yes Yes
1453 WNetGetUser 获取当前网络用户名  No Yes Yes
1454 WNetOpenEnum 列出网络资源  No Yes Yes
1455 WaitCommEvent 监视屏蔽的事件  No Yes Yes
1456 WaitForInputIdle 监测进程空闲  No Yes Yes
1457 WaitForMultipleObjects 监测多个对象  No Yes Yes
1458 WaitForMultipleObjectsEx 监测多个对象或I/O结束  No Yes Yes
1459 WaitForPrinterChange 监测打印机或打印机服务器变化  No Yes Yes
1460 WaitForSingleObject 监测一个对象  No Yes Yes
1461 WaitForSingleObjectEx 监测一个对象或I/O结束  No Yes Yes
1462 WaitMessage 暂停应用程序运行并产生控件 "    函数功能:该函数产生对其他线程的控制,如果一个线程没有其他消息在其消息队列里。此函数中止线程,直到一个新消息被放入该线程的消息队列里,再返回。

    函数原型;BOOL WaitMessage(VOID);

    参数:无。

    返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。

    备注:在线程调用一个函数来检查队列后,如果有未经阅读的输入在消息队列里,WaitMessage不返回。这是因为PeekMessage,GetMessage,GetQueueStatus:WaitMessage,MsgWaitForMultipleObjects,MsgWaitForMulitpleObjectEx等函数检查队列后,改变队列的状态信息这样输入不再被认为是新的。如果连续调用WaitMessage,将等到指定类型的新输入到达后才返回。已存在的未读过的输入(在上次线程检查队列之前接收的)被忽略。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib。

" Yes Yes Yes
1463 WaitNamedPipe 监测命名管道  No Yes Yes
1464 waveInAddBuffer 向声音输入设备发送缓冲区  No Yes Yes
1465 waveInClose 关闭声音输入设备  No Yes Yes
1466 waveInGetDevCaps 获取声音输入设备性能  No Yes Yes
1467 waveInGetErrorText 获取声音出错的信息文本  No Yes Yes
1468 waveInGetID 获取声音输入设备ID  No Yes Yes
1469 waveInGetNumDevs 返回声音输入设备数量  No Yes Yes
1470 waveInGetPosition 获取声音设备输入位置  No Yes Yes
1471 waveInMessage 向声音输入设备发送信息  No Yes Yes
1472 waveInOpen 打开声音输入设备  No Yes Yes
1473 waveInPrepareHeader 预备声音输入缓冲区  No Yes Yes
1474 waveInReset 停止声音输入设备工作  No Yes Yes
1475 waveInStart 停止声音输入设备工作  No Yes Yes
1476 waveInStop 停止声音输入  No Yes Yes
1477 waveInUnprepareHeader 清除预备的声音文件头  No Yes Yes
1478 waveOutBreakLoop 中断声音输出循环  No Yes Yes
1479 waveOutClose 关闭声音输出设备  No Yes Yes
1480 waveOutGetDevCaps 获取声音输出设备性能  No Yes Yes
1481 waveOutGetErrorText 获取声音出错文本  No Yes Yes
1482 waveOutGetID 获取声音输出设备ID  No Yes Yes
1483 waveOutGetNumDevs 获取声音输出设备数量  No Yes Yes
1484 waveOutGetPitch 获取声音输出的强度  No Yes Yes
1485 waveOutGetPlaybackRate 获取声音回放率  No Yes Yes
1486 waveOutGetPosition 获取声音回放位置  No Yes Yes
1487 waveOutGetVolume 获取声音音量  No Yes Yes
1488 waveOutMessage 向声音输出设备发送消息  No Yes Yes
1489 waveOutOpen 打开声音输出设备  No Yes Yes
1490 waveOutPause 暂停声音回放  No Yes Yes
1491 waveOutPrepareHeader 预备声音回放数据块  No Yes Yes
1492 waveOutReset 停止声音回放  No Yes Yes
1493 waveOutRestart 重开始声音回放  No Yes Yes
1494 waveOutSetPitch 设置波形输出强度  No Yes Yes
1495 waveOutSetPlaybackRate 设置回放率  No Yes Yes
1496 waveOutSetVolume 设置输出音量  No Yes Yes
1497 waveOutUnprepareHeader 清除预备声音数据块  No Yes Yes
1498 waveOutWrite 写入声音输出设备  No Yes Yes
1499 WideCharToMultiByte 将通配符映像为多字节  No Yes Yes
1500 WidenPath 设置当前路径  No Yes Yes
1501 WinExec 运行程序  Yes Yes Yes
1502 WinExecError   No Yes Yes
1503 WinHelp 援引WINDOWS HELP  Yes Yes Yes
1504 WindowFromDC 返回设备描述标窗口  No Yes Yes
1505 WindowFromPoint 返回包含点的窗口 "    函数功能:该函数获得包含指定点的窗口的句柄。

    函数原型:HWND WindowFromPoint(POINT Point);

    参数:

    Point:指定一个被检测的点的POINT结构。

    返回值:返回值为包含该点的窗口的句柄。如果包含指定点的窗口不存在,返回值为NULL。如果该点在静态文本控制之上,返回值是在该静态文本控制的下面的窗口。

    备注:WindowFromPoint函数不获取隐藏或禁止的窗口句柄,即使点在该窗口内。应用程序应该使用ChildWindowFromPoint函数进行无限制查询。

    速查:Windows NT:3.1以上版本:Windows:95以上版本;Windows CE:1.0以上版本:头文件:Winuser.h;库文件:user32.lib。

" Yes Yes Yes
1506 WriteConsole 写控制台屏幕缓冲区  No Yes Yes
1507 WriteConsoleOutput 直接控制屏幕缓冲区  No Yes Yes
1508 WriteConsoleOutputAttribute 向控制台写入属性字符串  No Yes Yes
1509 WriteConsoleOutputCharacter 向控制台写入字符串  No Yes Yes
1510 WriteFile 写文件  No Yes Yes
1511 WriteFileEx 写文件  No Yes Yes
1512 WritePrinter 向打印机输出数据  No Yes Yes
1513 WritePrivateProfileSection 向私有INI文件输出数据  No Yes Yes
1514 WritePrivateProfileString 向私有INI文件输出字符串  Yes Yes Yes
1515 WriteProcessMemory 在指定进程中写内存  No Yes Yes
1516 WriteProfileSection 将段写入WIN.INI  No Yes Yes
1517 WriteProfileString 将字符串写入WIN.INI  Yes Yes Yes
1518 WriteTapemark 写磁带标记  No Yes Yes
1519 wsprintf 格式化字符串  Yes No No
1520 ZeroMemory 将一块内存置零  No No No
1521 AdlustWindowRect 计算窗口矩形的大小 "    函数功能:该函数依据所需客户矩形的大小,计算需要的窗口矩形的大小。计算出的窗口矩形随后可以传递给CreateWindow函数,用于创建一个客户区所需大小的窗口。

    函数原型:BOOL AdjustWindowRect(LPRECT lpRect ,DWORD dwStyle,BOOL bMENU);

    参数:

    lpRect:指向RECT结构的指针,该结构包含所需客户区域的左上角和右下角的坐标。函数返回时,该结构容纳所需客户区域的窗口的左上角和右下角的坐标。

    dwStyle:指定将被计算尺寸的窗口的窗口风格。

    bMenu:指示窗口是否有菜单。

    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。获取错误信息,参看GetLastError。

    备注:客户矩形是指完全包含一个客户区域的最小矩形;窗日矩形是指完全包含一个窗口的最小矩形,该窗口包含客户区与非客户区。

    当一个菜单条下拉出两行或更多行时,AdjustWindowRect函数不增加额外的空间。

    速查:Windows NT:3.1以上版本:Windows:95以上版本:Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
" No Yes Yes
1522 AnImateWindow 显示与隐藏窗口时能产生特殊的效果 "    函数功能:该函数能在显示与隐藏窗口时能产生特殊的效果。有两种类型的动画效果:滚动动画和滑动动画。

    函数原型:BOOL AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags);

    参数:

    hWnd:指定产生动画的窗口的句柄。

    dwTime:指明动画持续的时间(以微秒计),完成一个动画的标准时间为200微秒。

    dwFags:指定动画类型。这个参数可以是一个或多个下列标志的组合。标志描述:

    AW_SLIDE:使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略。

    AW_ACTIVE:激活窗口。在使用了AW_HIDE标志后不要使用这个标志。

    AW_BLEND:使用淡出效果。只有当hWnd为顶层窗口的时候才可以使用此标志。

    AW_HIDE:隐藏窗口,缺省则显示窗口。

    AW_CENTER:若使用了AW_HIDE标志,则使窗口向内重叠;若未使用AW_HIDE标志,则使窗口向外扩展。

    AW_HOR_POSITIVE:自左向右显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略。

    AW_VER_POSITIVE:自顶向下显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略。

    AW_VER_NEGATIVE:自下向上显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略。

    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。在下列情况下函数将失败:

    窗口使用了窗口边界;窗口已经可见仍要显示窗口;窗口已经隐藏仍要隐藏窗口。若想获得更多错误信息,请调用GetLastError函数。

    备注:可以将AW_HOR_POSITIVE或AW_HOR_NEGTVE与AW_VER_POSITVE或AW_VER_NEGATIVE组合来激活一个窗口。

    可能需要在该窗口的窗口过程和它的子窗口的窗口过程中处理WM_PRINT或WM_PRINTCLIENT消息。对话框,控制,及共用控制已处理WM_PRINTCLIENT消息,缺省窗口过程也已处理WM_PRINT消息。

    速查:WIDdOWS NT:5.0以上版本:Windows:98以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib。

" No Yes Yes
1524 CCHookProc 应用程序或库定义的回调函数 "    函数功能:该挂钩函数是一个应用程序或库定义的回调函数。ChooseColor函数与此函数一起使用挂钩函数贮存信息或通告,此信息和通告应用于Color公共对话框的缺省对话框函数。

    LPCEHOOPROC类型定义了一个指向此回调函数的指针。CCHOOkProc是一个应用程序定义的函数名的位置占有者。

    函数原型:UINT CALLBACK CCHookProc(HWND hdlg,UINT uiMsg,WPARAM wParam,LPARAM IParam);

    参数:

    hdlg:指向信息指定的Color对话框的句柄。

    uiMag:标识存放的信息。

    wParam:指定有关信息号的其他信息。精确意义根据UiMdsg参数的值来决定。

    IParam:指定有关消息的其他信息。精确意义由uiMsg参数的值米决定。如果uiMsg多数表明WM_IMTDIALOG消息,IParam是一个指向含有当对话框创建时指定的值的CHOOSECOLOR结构的指针。

    返回值;如果挂钩函数返回零值,缺省对话框函数处理消息。如果挂钩函数返回非零值,缺省对话框函数忽略消息。

    备注当用ChooseColor函数创建一个Color对话框时,应用程序可以为对话框函数提供CCHookProc挂钩函数来处理消息。应用传送到对话创建函数中的CHOOSECOLOR结构可使挂钩函数生效,也可指定IpfnHook成员中挂钩函数的地址和指定Flags成员中CC_ENABIEHOOK标志。缺省对话框函数把消息WM_INITDIALOG传送到挂钩函数之前先处理此消息。对于其他所有的消息,挂钩函数首先存放消息。然后其返回值决定此缺省对话函数是处理消息或忽略消息。如果挂钩函数处理WM_CTLCOLORDIG消息,那么必须返回一个有效的刷子句柄以绘制对话框的背景。总之,如果挂钩函数处理任何一种WM_CTLCOLOR消息,它必须返回一个有效的刷了句柄以刷指定的控制板的背景。

    不要从挂钩函数中调用EndDialog函数。相反地挂钩函数能调用PostMessage函数来把带有IDABORT值的WMCOMMAND消息传送到对话框枢函数中。传送LDABORT消息使对话框关闭并使对话框返回值为FALSE。如果要知道为什么挂钩函数关闭对话框,必须在挂钩函数和应用程序之间提供自身联系机理。

    可以对公共对话框的标准控制面板进行子分类。但是公共对话框函数也可以对控制面板子分类、正因如此,在挂钩函数处理消息时必须对控制面板进行子分类。这就保证在对话框函数设置于分类函数之前,子分类函数存放了指定的控制消息。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:2.0及以上版本;头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1525 CFHookProc 应用程序定义的或库定义的回调函数 "    函数功能:该挂钩函数是一个应用程序定义的或库定义的回调函数,此回调函数与ChooseFont函数一起使用。挂钩函数接收用于Font公共对话框的缺省对话框函数的消息和通告。

    LPCFHOOKPROC类型定义了一个指向这种回调函数的指针。CFHOOKProc是一个由应用程序定义的函数名的位置占有者。

    函数原型:UINT CALLBACK CFHookProc(HWND hdlg,UINT uiMsg,WPARAM wParam,LPARAM IParam);

    参数:

    hdlg:指向消息所指的Font对话框窗口的句柄。

    uiMsg:指定存放的消息。

    wParam:指定有关消息的其他信息。精确的意义根据uiMsg参数的值来决定。

    IParam:指定有关消息的其他信息。精确的意义根据uiMSg参数的值来决定。如果uiMsg参数表明WM_INITDIALOG消息,则IParam是一个指向CHOOSEFONT结构的指针,该结构含有创建公共对话框时指定的值。

    返回值:如果挂钩函数返回零值,缺省对话框函数处理消息。如果挂钩函数返回一个非零值,缺省对话框函数忽略消息。

    备注:用ChooseFont函数创建一个Font对话框时,可以为对话框函数提供挂钩函数来处理消息。

    为使挂钩函数生效,要用传送到对话创建函数的CHOOSEFONT结构,指定IpfnHook成员中挂钩函数的地址和Flags成员中CF_ENABLEHOOK标志。

    缺省的对话框函数处理WM_INTDIALOG消息后,把它传送给挂钩函数。对于其他消息,挂钩函数首先存放此消息。然后挂钩函数的返回值决定缺省对话函数是否处理消息或忽略它。

    如果挂钩函数处理 WM_CTLCOLORDLG信息,它必须返回一个有效的刷子句柄,以刷对话的背景。

    总之,如果挂钩函数处理任何一个WM_CTLCOLOR消息,那么必须返回一个有效刷子句柄,以绘制指定控制的背景不须从挂钩函数调用EndDialog函数。相反,挂钩函数能调用PostMessage函数,把带有IDABORT值的一个WM_CDOMMAND信息传送给对话框函数Posting IDABORT关闭对话框,使对话框函数退回FALSE值,若要了解为什么挂钩函数关闭对话框,必须提供挂钩函数和应用程序之间的联系机理。

    可以对公共对话框的标准控制面板进行子分类。但是公共对话框函数也可以对控制面板进行子分类。正因如此,必须在挂钩函数WM_INTDIALDG处理消息时对控制面板子分类。这就保证对话框函数设置子分类函数之前,子分类函数接收指定的控制消息。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1526 CreateWindow 创建一个窗口 "    函数功能:该函数创建一个重叠式窗口、弹出式窗口或子窗口。它指定窗口类,窗口标题,窗口风格,以及窗口的初始位置及大小(可选的)。该函数也指定该窗口的父窗口或所属窗口(如果存在的话),及窗口的菜单。若要使用除CreateWindow函数支持的风格外的扩展风格,则使用CreateWindowEx函数代替CreateWindow函数。

    函数原型:HWND CreateWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HANDLE hlnstance,LPVOID lpParam);

    参数:

    lpClassName:指向一个空结束的字符串或整型数atom。如果该参数是一个整型量,它是由此前调用theGlobalAddAtom函数产生的全局量。这个小于0xC000的16位数必须是lpClassName参数字的低16位,该参数的高位必须是0。

    如果lpClassName是一个字符串,它指定了窗口的类名。这个类名可以是任何用函数RegisterClassEx注册的类名,或是任何预定义的控制类名。请看说明部分的列表。

    LPWindowName:指向一个指定窗口名的空结束的字符串指针。

    如果窗口风格指定了标题条,由lpWindowName指向的窗口标题将显示在标题条上。当使用Createwindow函数来创建控制例如按钮,选择框和静态控制时,可使用lpWindowName来指定控制文本。

    dwStyle:指定创建窗口的风格。该参数可以是下列窗口风格的组合再加上说明部分的控制风格。风格意义:

    WS_BORDER:创建一个单边框的窗口。

    WS_CAPTION:创建一个有标题框的窗口(包括WS_BODER风格)。

    WS_CHIlD:创建一个子窗口。这个风格不能与WS_POPVP风格合用。

    WS_CHLDWINDOW:与WS_CHILD相同。

    WS_CLIPCHILDREN:当在父窗口内绘图时,排除子窗口区域。在创建父窗口时使用这个风格。

    WS_CLlPBLINGS;排除子窗口之间的相对区域,也就是,当一个特定的窗口接收到WM_PAINT消息时,WS_CLIPSIBLINGS 风格将所有层叠窗口排除在绘图之外,只重绘指定的子窗口。如果未指定WS_CLIPSIBLINGS风格,并且子窗口是层叠的,则在重绘子窗口的客户区时,就会重绘邻近的子窗口。

    WS_DISABLED:创建一个初始状态为禁止的子窗口。一个禁止状态的窗日不能接受来自用户的输人信息。

    WS_DLGFRAME:创建一个带对话框边框风格的窗口。这种风格的窗口不能带标题条。

    WS_GROUP:指定一组控制的第一个控制。这个控制组由第一个控制和随后定义的控制组成,自第二个控制开始每个控制,具有WS_GROUP风格,每个组的第一个控制带有WS_TABSTOP风格,从而使用户可以在组间移动。用户随后可以使用光标在组内的控制间改变键盘焦点。

    WS_HSCROLL:创建一个有水平滚动条的窗口。

    WS_ICONIC:创建一个初始状态为最小化状态的窗口。与WS_MINIMIZE风格相同。

    WS_MAXIMIZE:创建一个具有最大化按钮的窗口。该风格不能与WS_EX_CONTEXTHELP风格同时出现,同时必须指定WS_SYSMENU风格。

    WS_OVERLAPPED:产生一个层叠的窗口。一个层叠的窗口有一个标题条和一个边框。与WS_TILED风格相同。

    WS_OVERtAPPEDWINDOW:创建一个具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU WS_THICKFRAME,WS_MINIMIZEBOX,WS_MAXMIZEBOX风格的层叠窗口,与WS_TILEDWINDOW风格相同。

    WS_POPUP;创建一个弹出式窗口。该风格不能与WS_CHLD风格同时使用。

    WS_POPUWINDOW:创建一个具有WS_BORDER,WS_POPUP,WS_SYSMENU风格的窗口,WS_CAPTION和WS_POPUPWINDOW必须同时设定才能使窗口某单可见。

    WS_SIZEBOX:创建一个可调边框的窗口,与WS_THICKFRAME风格相同。

    WS_SYSMENU:创建一个在标题条上带有窗口菜单的窗口,必须同时设定WS_CAPTION风格。

    WS_TABSTOP:创建一个控制,这个控制在用户按下Tab键时可以获得键盘焦点。按下Tab键后使键盘焦点转移到下一具有WS_TABSTOP风格的控制。

    WS_THICKFRAME:创建一个具有可调边框的窗口,与WS_SIZEBOX风格相同。

    WS_TILED:产生一个层叠的窗口。一个层叠的窗口有一个标题和一个边框。与WS_OVERLAPPED风格相同。

    WS_TILEDWINDOW:创建一个具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU MS_THICKFRAME.

    WS_MINIMIZEBOX,WS_MAXMIZEBOX风格的层叠窗口。与WS_OVERLAPPEDWINDOW风格相同。

    WS_VISIBLE:创建一个初始状态为可见的窗口。WS_VSCROLL:创建一个有垂直滚动条的窗口。

    X:指定窗口的初始水平位置。对一个层叠或弹出式窗口,X参数是屏幕坐标系的窗口的左上角的初始X坐标。对于子富口,x是子窗口左上角相对父窗口客户区左上角的初始X坐标。如果该参数被设为CW_UCEDEFAULT则系统为窗口选择缺省的左上角坐标并忽略Y参数。CW_USEDEFAULT只对层叠窗口有效,如果为弹出式窗口或子窗口设定,则X和y参数被设为零。

    Y:指定窗口的初始垂直位置。对一个层叠或弹出式窗日,y参数是屏幕坐标系的窗口的左上角的初始y坐标。对于子窗口,y是子窗口左上角相对父窗口客户区左上角的初始y坐标。对于列表框,y是列表框客户区左上角相对父窗口客户区左上角的初始y坐标。如果层叠窗口是使用WS_VISIBLE风格位创建的并且X参数被设为CW_USEDEFAULT,则系统将忽略y参数。

    nWidth:以设备单元指明窗口的宽度。对于层叠窗口,nWidth或是屏幕坐标的窗口宽度或是CW_USEDEFAULT。若nWidth是CW_USEDEFAULT,则系统为窗口选择一个缺省的高度和宽度:缺省宽度为从初始X坐标开始到屏幕的右边界,缺省高度为从初始X坐标开始到目标区域的顶部。CW_USEDFEAULT只参层叠窗口有效;如果为弹出式窗口和子窗口设定CW_USEDEFAULT标志则nWidth和nHeight被设为零。

    nHelght:以设备单元指明窗口的高度。对于层叠窗口,nHeight是屏幕坐标的窗口宽度。若nWidth被设为CW_USEDEFAULT,则系统忽略nHeight参数。

    hWndParent:指向被创建窗口的父窗口或所有者窗口的旬柄。若要创建一个子窗口或一个被属窗口,需提供一个有效的窗口句柄。这个参数对弹出式窗日是可选的。Windows NT 5.0;创建一个消息窗口,可以提供HWND_MESSAGE或提供一个己存在的消息窗口的句柄。

    hMenu:菜单句柄,或依据窗口风格指明一个子窗口标识。对于层叠或弹出式窗口,hMenu指定窗口使用的菜单:如果使用了菜单类,则hMenu可以为NULL。对于子窗口,hMenu指定了该子窗口标识(一个整型量),一个对话框使用这个整型值将事件通知父类。应用程序确定子窗口标识,这个值对于相同父窗口的所有子窗口必须是唯一的。

    hlnstance:与窗口相关联的模块事例的句柄。

    lpParam:指向一个值的指针,该值传递给窗口 WM_CREATE消息。该值通过在IParam参数中的CREATESTRUCT结构传递。如果应用程序调用CreateWindow创建一个MDI客户窗口,则lpParam必须指向一个CLIENTCREATESTRUCT结构。

    返回值:如果函数成功,返回值为新窗口的句柄:如果函数失败,返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。

    备注:在返回前,CreateWindow给窗口过程发送一个WM_CREATE消息。对于层叠,弹出式和子窗口,CreateWindow给窗口发送WM_CREATE,WM_GETMINMAXINFO和WM_NCCREATE消息。消息WM_CREATE的IParam参数包含一个指向CREATESTRUCT结构的指针。如果指定了WS_VISIBLE风格,CreateWindow向窗口发送所有需要激活和显示窗口的消息。

    获取有关任务条是否为创建的窗口显示一个按钮的控制信息,参看Taskbar按钮的Visbility。

    以下预定义的控制类可以在lpClassName参数中指定。注意在dwStyle参数中可以使用的相应的控制风格。

    BUTTON按钮按钮是一个小矩形子窗口,用户可以点击来打开或关闭。按钮控制可以单独使用或包含在组中使用,可以为控制写标签或不写标签。当用户点击按钮控制时按钮的外观有明显的改变。请参看Button。查看dwStyle参数中指定的按钮风格表请参考Button Style。

    COMBOBOX组合框由一个列表框和一个类似于编辑控制的选择域组成。在使用这个风格控制时,应用程序或者使列表框一直显示或者是作成一个下拉列表。如果列表框可见,则在编辑域中输入字符将使列表框中与字符一致的第一个域高亮。反之,在列表框中选择的项将显示在编辑域中。请参看Combo Boxes。

    查看dwStyle参数中指定的组合框风格表请参考Combo Boxes Style。

    EDIT编辑框一个小的矩形子窗口用户可以使用键盘向其中输入文本。用户可以通过点击或按Tab键来选中编辑框控制并且使控制获得焦点。当编辑框中显示一个闪烁的插入记号时,用户可以输入文本。使用鼠标移动光标,选择被替换的字符或设置插入字符的位置或使用回退键删除字符。请参看Edit。controls。

    查看dwStyle参数中指定的编辑框风格的表格请参考Edit Control Style。

    LISTBOX列表框字符串的列表。当应用程序必须显示名称的列表,例如文件名列表等,使用户可以从中选择时就可指定列表框。用户可以通过单击来选择名称。选择时,被选择名高亮,同时传递给父窗口一个通知消息。请参看LiSt Box Style。查看dwStyle参数中指定的列表风格表请参考List BOX Control Style。

    MDICLIENT MDI客户设计出MDI客户窗口。窗口接收控制MDI应用程序子窗口的消息。建议使用两种控制风格位:WS_CLIPCHILDREN和WS_CHILD。指定了WS_HSCROLL和WS_VSCROLL风格的MDI客户窗口允许用户将MDI子窗口滑动进入视窗。请参看MDI。

    RiChEdit设计一个Rich Editl.0版的控制。该控制使用户可以以字符和段落格式测览和编辑文本,并且可以包含嵌入的COM对象。请参看Rich Edit Controls。查看dwStyle参数中指定的RichEdit风格表请参考LiSt Box Control Style。

    RICHEDIT CLASS设计一个Rich Edik2.0版的控制。该控制使用户可以以字符和段落格式测览和编辑文本,并且可以包含嵌入的COM对象。请参看RichEditControls。查看dwStyle参数中指定的RichEdit风格表请参考RichEditControIStyle。

    SCROLLBAR 滚动条设计的一个包含着一个滚动盒和两端有方向箭头的矩形。只要用户点击了控制,滚动条就给父窗口发送一个通知消息。如有必要,父窗口负责更新滚动条的位置。请参看ScrollBars。查看dwStyle参数中指定的滚动条风格表请参考Scroll Bars Style。

    STATIC一个简单的静态文本域,文本盒或矩形用于给控制加标签,组合控制或将控制与其他控制分开。

    静态控制不提供输入和也不提供输出。请参看Static Control Styles。查看dwStyle参数中指定的静态文本风格表请参考Scroll Bars Style。

    Windows95:系统可以支持最大16,364个窗口句柄。

    备注:如果在链接应用程序时指明是Windows 4.x版本,除非应用程序的窗口有窗口某单,否则窗口控制没有标题控制。对Windows3.x版本没有这种要求。

    Windows CE:CreateWindow是以“宏”方式完成的。它被定义为CreateWindowEX,并且dwExStyle参数被置为长整数0。不支持菜单条控制,除非被声明为子窗口标志否则hMenu参数必须为NULL。不支持MDICLIENT窗口类。dwStyle参数可以是对话框(Dialogue Box),窗口(Windows),控制(Controls)文件中的窗口风格和控制风格的组合。

    下列dwStyle标志在窗口中不支持:

    WS_CHILDWINDOW WS_ICONC;WS_MAXMIZE WS_MAXIMIZEBOX;WS_MINIMIZE WS_MINIMIZEBOX;

    WS_OVERLAPPEDWINDOW WS_POPUPWINDOW;WS_SIZEBOXWS_THICKFRAME WS_TILED WS_TILEDWINDOW

    下列dwStyle标志在控制和对话框中不支持:

    不支持的按钮风格和静态控制风格:

    BS_LEFTTEXT SS_BLACKFRAME;BS_MULTILINE SS_GRAYFRAME BS_TEXT SS_METAPICT;BS_USERBUTTON SS_SIMPLE

    不支持组合框SS_WHITERECT风格。

    CBS_OWNERDRAWFIXED SS_BLACKRECT;CBS_OWNWEDRAWVARIABLE SS_GRAYRECT; CBS_SIMPLE8R旧HTrIMAGE

    不支持列表框控制SS_WHITEFRAME风格。

    LBS_NODATA

    不支持的对话框风格:

    LBS_OWNERDRAWFIXED DS_ABSALIGN; LBS_OWNERDRAWVARIABLE DS_CENTERMOUSE; LBS_STANDARD DS_CONTEXTHELP

    不支持滚动条的 DS_FIXEDSYS风格

    SBS_BOTTOMALIGN DS_NOFAILCREATE;SBS_RIGHTALIGN DS_NOIDLEMSG;

    SBS_SlZEBOXBOTT0MRIHTALIGN DS_SYSMODAL;SBS_SIZEGRIP

    可使用BS_OWNERDRAW风格来代替BS_USERBUTTON风格。

    可使用SS_LEFT或SS_LEFTNOWORDWRAP风格来代替静态控制的SS_SIMPLE风格。

    不支持MDICLIENT窗口类。

    所有窗口都隐含WS_CLIPSIBLINGS和 WS_CLIPCHILDREN风格。

    Windows CE1.0版除对话框外不支持被属窗口。如果hwndParent参数不为NULL,则窗口隐含给出WS_CHILD风格。Windows CE1.0不支持菜单条。

    速查: Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib; Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

" Yes Yes Yes
1527 CreateDialog 创建一个无模式的对话框 "    函数功能:CreateDialog宏从一个对话框模板资源创建一个无模式的对话框,CreateDiaog宏使用CreateDialogParam函数。

    函数原型:HWND CreateDialog(HINSTANCE hlnstance,LPCTSTR lpTemplate,HWND hWndParent,DLGPROC IpDialogFunc);

    参数:

    hlnstance:标识模块事例,该模块的可执行文件含有对话框模板。

    pTemplate: 标识对话框模板,此参数或是指向一个以结尾的字符串指针,该字符串指定对话框模板名,或是指定对话框模板的资源标识符的一个整型值。如果此参数指定了一个资源标识符,则它的高位字一定为零,且低位字一定含有标识符,一定用MAKEINTRESOURCE宏来创建此值。

    hWndParent: 标识拥有对话框的窗口。

    lpDialogFunc: 指向对话框应用程序的指针。有关更多的对话框应用程序的指针,参见DialogProc。

    返回值:如果函数调用成功,则返回值为指向对话框的句柄;如果函数调用失败,则返回值为NULL。若想获得更多的错误信息,可调用GetLastError函数。

    备注: CreateDialog函数用CreateWindowEx函数来创建对话框。然后CreateDialog函数把一个WM_INITDIALOG消息(如果模板指定DS_SETFONT类型,则加上一个WM_SETFONT消息)传送到对话框应用程序。如果模板指定WS_VISIBLE风格,则函数显示对话框,最后CreateDlalog返回指向对话框的窗口句柄。CreateDialog函数返回之后,应用程序通过Showwindow函数显示对话框(如果还没有显示)。应用程序通过利用DestroyWindow函数来清除对话框。Windows 95和以后版本:系统每个对话框模板可以支持最多达 255个控制。如果要把多于255个控制放入对话框中,必须在WM_INITDIALOG消息处理器中创建控制,而不是把它们放入模板中。Windows CE:IpTempIate参数指向的对话框模板中,DIGTEMPLATE结构并不支持所有类型。

    速查:WindowsNT:3.1及以上版本:Windows:95及以上版本:WindowsCE:1.0及以上版本:头文件:Winuser.h;库文件:user32.lib; Unicode: Unicode:在 Windows NT上实现为 Unicode和ANSI两种版本。

" No Yes Yes
1528 CreateDialogIndirect 在内存中从对话框模板上创建一个无模式对话框 "    函数功能:该宏在内存中从对话框模板上创建一个无模式对话框。此宏使用CreateDialoglndirectparam 函数。

    函数原型:HWND CreateDialogIndirect(HINSTANCE hlnstance,LPCDLGTEMPLATE IPTemplate,HWNDhWndParent,DLGPROC IPDialogFunc);

    参数:

    hInstance: 标识创建对话框的模块的事例。

    IPTemplate: 指向含有一个模板的全局内存对象的指针。CreateDialogIndirect用此模板创建对话框。对话框模板由描述对话框的标题组成,跟随着标题之后的是描述每一个控制的一个或多个数据块,模板可以用标准格式或扩展格式。在标准模板中,标题是由DLGTEMPLATE结构跟随一个变长数组组成。每个控制的数据是由DLGTEMPLATE结构跟随一个变长数组组成。在扩展模板中,标题用DLGTEMPLATEEX格式,且控制定义用DLGITEMPLATEEX格式。CreatDialogIndirect函数返回后,可释放模板,此模板仅用于启动对话框。

    hWndParent: 标识拥有对话框的窗口。

    IpDialogFunc:指向对话框应用程序的指针,有关更多的对话框应用程序的指针,参见DialogProc。

    返回值:如果函数调用成功,则返回值为指向对话框的句柄。如果函数调用失败,则返回值为NULL。若想获得更多错误信息,可调用GetLastError函数。

    备注:CreateDialOgIndirect宏使用CreateWindowEx函数来创建对话框,然后该函数把一个WM_INITDIALOG消息发送到对话框应用程序,如果模板指定DS_SETFONT类型,则函数也把一个WM_SETFONT消息发送到对话框应用程序。如果模板指定WS_VISIBLE类型,则函数显示对话框,最后CreateDialogIndirect返回指向对话框的窗口句柄。

    CreateDialogIndirect函数返回之后,可用 ShowWindow函数来显示对话框(如果还没有显示)。用DestroyWindow函数来清除对话框。

    在标准对话框模板中,DLGTEMPLATE结构和每一个DLGITEMTEMPLATE结构必须按DWORD边界对齐,遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。

    在扩展对话框模板上DLGTEMPLATEEX结构和每一个DLGITEMTEMPLATEEX结构必须按DWORD边界对齐;遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。

    所有对话框模板的字符串,例如对话框和按钮的标题,一定是Unicode字符串。使用

    MltiByteToWidechar函数产生这些Unicode字符串可以创建在Windows和Windows NT两种系统上工作的代码。

    Windows 95和以后版本:系统可支持每个对话框模板最多为255个控制。为把多于255个控制放入对话框,可以在WM_INITDLAIOG消息处理器中创建控制,而不是把它们放入模板中。

    Windows CE:lpTempate参数指向的对话框模板中,DLGTEMPLATE结构并不支持所有的类型。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:Winuser.h;库文件:user32.lib;Unicode: 在Windows NT上实现为Unicode和ANSI两种版本。

" No Yes Yes
1529 CreateIconFromResourceEx 通过描述图标的资源位创建图标或光标 "    函数功能:该函数通过描述图标的资源位创建图标或光标。

    函数原型:HICON CreateIconFromResourceEx(PBYTE pbIconBits,DWORD cbIconBits,BOOL fIcon,DWORd dwVersion,intcxDesired,int cyDesired,UINT uFlags);

    参数:

    pbIconBits:包含图标或光标资源位缓冲区的指针。典型的应用,可通过调用LookuPlconldFromDirectoryEx或LoadResource函数载入这些位。

    cbIconBits:以字节为单位指定由pblconBits参数指定的位集合的大小。

    fIcon:指定创建图标还是光标,如果参数为TRUE,创建图标;如果参数为FALSE,创建光标。

    dwVersion:指定由pblcpmBots参数指定的资源位的图标或光标格式的版本号。参数可能是下列的值:

    Windows2.x 0x00020000; Windows3.x 0x00030000

    所有基于Win32的应用程序使用Windows3.x格式的图标和光标。

    cxDesired:指定图标或光标的期望宽度(以像素为单位)。如果参数是零,函数使用SM_CXICON或SM_CXCURSOR系统公制值设置宽度。

    cyDesired:指定图标或光标的期望高度(以像素为单位)。如果参数是零,函数使用SM_CYICON或SM_CYCURSOR系统公制值设置高度。

    VFlags:指定的组合值:

    LR_DEFAULTCOLOR:使用缺省颜色格式;

    LR_MONOCHROME:创建单色图标或光标

    返回值:如果函数成功,返回值是图标或光标的句柄:如果函数失效,返回值是NULL。想获得更多的错误信息,请调用GetLastError函数。

    备注:CreateIconFromResourceEx,CreateIconFromResource,CreateIconIndirect,GetIconInfo,LookupIconFromDirectoryEx函数允许外壳应用程序和图标浏览器在整个系统中检查和使用资源。

    速查:Windows NT:4.O及以上版本; Windows:95及以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib。

" No Yes Yes
1530 DialogBox 根据对话框模板资源创建一个模态的对话框 "    函数功能:该宏根据对话框模板资源创建一个模态的对话框。DialogBOX函数直到指定的回调函数通过调用EndDialog函数中止模态的对话框才能返回控制。该宏使用DialogBoxParam函数。

    函数原型:int DialogBox(HINSTANCE hInstance,LPCTSTRIpTemplate,HWND hWndParent,DLGPROC IpDialogFunc);

    参数:

    hInstance:标识一个模块的事例该模块的可执行文件含有对话框模板。

    IpTemplate:标识对话框模板。此参数可以是指向一个以NULL结尾的字符串的指针,该字符串指定对话框模板名,或是指定对话框模板的资源标识符中的一个整型值。如果此参数指定了一个资源标识符则它的高位字一定为零,且低位字一定含有标识符。一定用MAKEINTRESOURDE宏指令创建此值。

    hWndParent:指定拥有对话框的窗口。

    IpDialogFunc:指向对话框过程的指针。有关更详细的关于对话框过程的信息,请参见DialogProc。

    返回值:如果函数调用成功,则返回值为在对函数EndDialog的调用中的nResult参数.该函数用于中止对话框。如果函数调用失败,则返回值为C1。若想获得更多的错误信息,请调用GetLastError函数。

    备注:DialOgBox宏用CreateWindowEx函数创建对话框。DialogBox函数然后把一个WM_INITDIALOG消息(和一个WM-SETFONT消息,如果模板指定DS_SETFONT类型)传递到对话框过程。不管模板是否指定WS_VISIBLE类型,函数显示对话框,并且使拥有该对话框的窗口(也称属主窗口)失效,且为对话框启动它本身的消息循环来检索和传递消息。

    当对话框应用程序调用EndDialog函数时,DialogBox函数清除对话框户止消息循环,使属主窗口生效(如果以前有效),且返回函数EndDialog调用中的nReSUlt参数。

    Windows 95和以后版本:系统可支持每个对话框模板中最多255个控制。为把大于255个的控制放入对话框,需要在WM_INITDIALOG消息处理器中创建控制,而不是把他们放入模板中。

    Windows CE:lpTemplateName参数指向的对话框模板中DLGTEMPLATE结构并不支持所有的类型。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

" No Yes Yes
1531 DialogBoxParam 根据对话框模板资源创建一个模态的对话框 "    函数功能:该函数根据对话框模板资源创建一个模态的对话框。在显示对话框之前,函数把一个应用程序定义的值作为WM_INITDIALOG消息的IParam参数传到对话框过程,应用程序可用此值来初始化对话框控制。

    函数原型:int DialogBoxParam(HINSTANCE hInstance,LPCTSTR IpTemplateName,HWND hWndParent, DLGPROC IPDialogFunc,LPARAM dwInitParam);

    参数:

    hInstance:标识一个模块的事例,该模块的可执行文件含有对话框模板。

    IpTemplateName:标识对话框模板。此参数可以指向一个以NULL结尾的字符串的指针,该字符串指定对话框模扳名,或是指定对话框模板的资源标识符的一个整型值。如果此参数指定了一个资源标识符,则它的高位字一定为零,且低位字一定含有标识符。一定用MAKEINTRESOURDE宏指令创建此值。

    hWndParent:指定拥有对话框的窗口。

    IpDirlogFunc:指向对话框过程的指针。有关更详细的关于对话框过程的信息,请参见DialogProc。

    dwInitaram:指定传递到WM_INITDIALOG消息的IParam参数中的对话框过程的值。

    返回值:如果函数调用成功则返回值为在对函数EndDialog的调用中的nResult参数,该EndDialog函数用于中止对话框。如果函数调用失败,则返回值为C1。若想获得错误信息,请调用GetLastError函数。

    备注:DialogBoxParam函数用CreateWindowEx函数创建对话框。然后把一个WM_INITDIALOGG消息传递到对话框过程。如果模板指定DS_SETFONT类型,DialogBoxParam函数把一个WM_SETFONT消息传递到对话框过程。(不管模板是否指定WS_VISIBLE类型),函数显示对话框使拥有窗口失效,且为对话框启动它本身的消息循环来检取和传递消息。当对话框应用程序调用EndDialog函数时,DialogBoxParam函数清除对话框中止消息循环;使拥有窗口生效(如果以前有效),且返回函数EndDialog的调用中的nReSUlt参数。Windows 95和以后版本:系统可支持每个对话框模板最多为255个控制。为把多于255个控制放入对话框,可以在WM_INITDLALOG消息处理器中创建控制,而不是把它们放入模板中。Windows CE:IPTemplateName参数指向的对话框模板中DLGTEMPLATE结构并不支持所有的类型。

    速查:WindowsNT:3.1及以上版本:Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:Winuser.h;库文件:USer32.lib:Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

" No Yes Yes
1532 DialogProc 定义可与DialogBOX函数一起使用的回调函数 "    函数功能:该函数为一个应用程序定义可与DialogBOX函数一起使用的回调函数。它处理发送到一个模态的或无模式对话框的消息。DLGPROC类型定义了一个指向此回调函数的指针。DialogProc函数是应用程序定义函数名的一个占位符。

    函数原型:BOOL CALLBACK DialogProc(HWND hwndDlg,UINT UMsg,WPARAM wParam,LPARAM IParam);

    参数:

    hwndDlg:指定对话框。

    uMsg:指定消息。

    wParam:指定消息特定的其他信息。

    Iparam:指定消息特定的其他信息。

    返回值:除了对MM_INITDIALOG消息的响应之外如果函数处理消息,则对话框应用程序应该返回非零值.

    如果函数不处理消息,则对话框应用程序应该返回零值。再响应WM_INITDIALOG消息时,如果函数调用SetFocus设置对话框中控制中的一个焦点,则对话框应用程序应该返回零值,否则对话框应用程序应该返回非零值在,这种情况下系统对能够有焦点的对话框中的第一个控制设置焦点。

    备注:只要为对话框使用对话框类时才应该使用对话框应用程序。这是缺省的类,并且在对话框模板中没有指定明显的类时才使用。尽管对话框应用程序同Windows应用程序类似,但它不能调用DefWindowProc

    函数来处理不需要的消息。不需要的消息通过对话框窗口应用程序内部处理。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:Winser.h;库文件:用户定义。

" No Yes Yes
1533 EditWordBreakProc 由应用程序定义的回调函数 "    函数功能:该函数是由应用程序定义的回调函数,该函数与EM_SETWORDBREAKPROC信号一起使用,一个多行编辑控制每当必须中断文本行时都调用EditwordBreakProc函数。EditwordBreakProc函数定义了一个指向此回调函数的指针,EditwordBreakProc是一个应用程序定义的函数名的占位符。

    函数原型:int CALLBACK EditWordBreakkPrOC(LPTSTR lpCh,int ichCurrent,int CCh int code);

    参数;

    Ipch:指向编辑控制文本的指针。

    ichCurrent:指定一个文本缓冲区中字符位置的索引,该文本表示函数应该从这点开始检查字的中断。

    cch:指定编辑控制文本中字符的数目。

    code:指定回调函数要采取的措施,此参数可以是下列值之一。

    WB_CLASSIFY:检索指定位置的字符的字中断标志和字符类,此值是为与超文本编辑控制一起使用。

    WB_ISDECIMITER:检查在指定位置的字符是否是分隔符。

    WB_LEFT:在指定位置的左边,找到字的开头。

    WB_LEFTBREAK:在指定位置的左边,找到字的结束分隔符,此值是为与超文本编辑控制一起使用。

    WB_MOVEWORDLEFT:在指定位置的左边,找到字的开头,此值用于CTRL+RIGHT使用时,此值是为与超文本编辑控制一起使用。

    WB_MOVEWDRDRIGHT:在指定位置的右边,找到字的开头,此值用于CTRL+ROGHT使用时,此值是为与超文本编辑控制一起使用。

    WB_RIGHT:在指定位置的右边,找到字的开头。(对于右对齐编辑控制很有用)

    WB_RIGHTBREAK:在指定位置的右边找到字结束分隔符,(这对右对齐编辑控制很有用)此值是为与超文本编辑控制一起使用。

    返回值:如果代码参数指定WB_ISDELIMITER,且如果指定位置的字符为分隔符,则返回值为非零(TRUE),否则返回值为零。如果代码参数指定WB_CLASSIFY,返回值为指定位置的字符类和字符字中断标志,否则,返回值为指向文本缓冲区的开头的索引。

    备注:一个回车操作跟着一个换行符,一定被回调函数看作为一个单一的字,紧跟着一个换行符的两个回车操作也一定被看作为单一字。

    一个应用程序必须通过EM_SETWORDBREAKPROC消息中指定回调函数的地址来安装回调函数。

    对于超文本编辑控制,也可用EM_SETWORDBREAKPROCEX消息来取代带有EditWordBreadProcEx回调函数的缺省扩展字中断程序,该函数还提供了关于文本的其他信息,如字符集。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:用户自定义。Unicode:定义为Unicode和ANSI两种原型。

" Yes Yes Yes
1534 EnumChildProc  "    函数功能:该函数是由应用程序定义的,与函数EnumChildWindows一起使用的回调函数。它接收子窗口句柄。类型WNDENUMPROC定义了一个指向回调函数的指针。EnumChildProc是一个应用程序定义的函数名的位置标志符。

    函数原型:BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM ItParam);

    参数:

    hwnd:指向在EnumChildWindows中指定的父窗口的子窗口句柄。

    Lparam:指定在EnumChildWindows函数给出的应用程序定义值。

    返回值:为继续枚举,回调函数必须返回TRUE;为停止枚举,回调函数必须返回FALSE。

    备注:回调函数可以执行任何要求的任务。

    应用程序必须通过将其地址传送给EnumChildWindows函数来注册这个回user.h;库文件:用户自定义。

" No Yes Yes
1535 EnumResLangProc 用户定义的和EnumResourceLanguages函数一起使用的回调函数 "    函数功能:该函数是一个用户定义的和EnumResourceLanguages函数一起使用的回调函数。它接收资源语言。ENUMRESLANGPROC类型定义指向该响应函数的指针。EnumResLangProc是用户定义的函数名称的占位符。

    函数原型:BOOL CALLBACK EnumResLangProc(HANDLE hModule,LPCTSTR IPszType, LPCTSTR IpszName,WORDwlDLanguage,LONG LParam);

    参数:

    hModule:处理那些包含着被列举术语资源的可执行文件的模块。如果这个参数为空,函数将在模块中列出在建当前过程时所用的资源术语。

    lpszType:指向一个以NULL为结束符的字符串,字符串指定了那些被列举的语句资源的类型名。作为标准的资源类型,此参数可以为下列值,含义如下:

    RT_ACCELERATOR:加速器表;RT_ANICURSOR:动态光标;

    RT_ANIICON:动态图标;RT_BITMAP:位图资源;

    RT_CURSOR:由硬件支持的光标资源;DI_DIALOG:对话框:

    RT_FONT:字体资源;RT_FONTDIR;字体目录资源;

    RT_GROUP_CURSOR:与硬件无关的光标资源;

    RT_GROUP_ICON:与硬件无关的目标资源;

    RT_HTML:HTML文档;RT_ICON:由硬件支持的图标资源:

    RT_MENU:菜单资源;RT_MESSAGETABLE:消息表的入口;

    RT_PLUGPLAY:即插即用资源;

    RT_RCDATA:应用定义资源(原始数据):RT_STRING字符表入口;

    RT_VERSION:版本资源:RT_VXD:VXD。

    lpszName:指向一个以NULL为结束符的字符串,字符串说明了在资源中被列举出术语的名称。

    wlDLanguage:指定了在资源中被列举出语句的标识符。EnumResourceLanguages函数提供了这一值。有关原始的语句标识符和由标识符组成子句标识符的列表可以详看MAKELANGID。

    LParam:指定将应用定义的参数传递给EnumResourceLanguages函数,此参数将被用于错误检查。

    返回值:此响应函数返回值为TRUE时将继续列举:否则,当返回值为FALSE时将停止列举。

    注意:应用程序必须通过向EnumResourceLanguages函数传递这个函数的地址来注册。

    速查:Windows NT 3.1、Windows 95以上,头文件:winbase.h;库文件:由用户定义。

" No Yes Yes
1536 EnumResNameProc 用户定义的和EnumResourceNames函数一起使用的回调函数 "    函数功能:该函数是一个用户定义的和EnumResourceNames函数一起使用的回调函数。ENUMRESNAMEPROC类型定义一个指向该回调函数的指针。EnumResNameProc是用户定义函数名的占位符。

    函数原型:BOOL CALLBACK EnumResNameProc(HANDL hModue.LPCTSTR haszTyPe,LPTSTR IPszName,LONG LParam);

    参数:

    hModule:处理包含被列举资源文件名的可执行文件的模块。如果这个参数为NULL,那么函数将在模块中列举出创建当前过程的资源名称。

    lpszType:指向以NULL为结束符的字符串,它指定了被列举出的资源类型名称。作为标准类型,这个参数的含义同EnumResLangProc/lpszType。

    lpszName:指向以NULL为结束符的字符串,它指定了被列举出的资源名称。

    LParam:指定传递给EnumResourceNames函数的应用程序定义的参数,此参数用于错误检查。

    返回值:此响应函数返回值为TRUE时将继续列举;否则,当返回值为FALSE时将停止列举。

    注意:应用程序必须通过向EnumResourceNames函数传递这个函数的地址来注册。

    速查:Windows NT 3.1、Windows 95以上,头文件:winbase.h;库文件:由用户定义。

" No Yes Yes
1537 EnumResTypeProc 用户定义的和EnumResourceTypes函数一起使用的回调函数 "    函数功能:该函数是一个用户定义的和EnumResourceTypes函数一起使用的回调函数。它接收资源类型。EnumResTypeProc类型定义一个指向这个回调函数的指针。EnumResTypeProc是这个用户定义函数名称的占位符。

    函数原型:BOOL CALLBACK EnumResTyPeProc(HANDLE hModue,LPTSTR lpszType,LONG LParam);

    参数:

    hModule:处理包含被列举资源类型的可执行文件的模块。如果这个参数为NULL,那么函数将在模块中列举出创建当前过程的资源类型。

    LpszType:指向以NULL为结束符的字符串,它指定了被列举出的资源类型。作为标准类型,这个参数的含义同EnumResLangProC\lpszType。

    LParam:指定一个申请定义参数值传递给EnumResourceTypes函数,此参数可以用来错误检查。

    返回值:若响应函数返回TRUE值则继续列举;否则,返回FALSE值时将停止列举。

    注意:应用程序必须通过将函数的地址传递给EnumResourceTypes函数来注册。

    速查:Windows NT 3.1、Windows 95以上,头文件:winbase.h;库文件:由用户定义。

" No Yes Yes
1538 EnumTaskWindows 函数功能:该函数已经过时,由EnumThreadwindows函数取代它。   No No No
1539 EnumThreadWndProc 枚举所有与一个线程相关联的非子窗口 "    函数功能:该函数枚举所有与一个线程相关联的非子窗口,办法是先将句柄传送给每一个窗口,随后传送给应用程序定义的回调函数。EnumThreadWindows函数继续直到所有窗口枚举完为止或回调函数返回FALSE为止。要枚举一个特定窗口的所有子窗口,使用EnumChildWindows函数。

    函数原型:BOOL EnumThreadWindows(DWORD dwThreadId,WNDENUMPROC lpfn,LPARAM lparam);

    参数:

    dwThreadld:标识将被列举窗口的线程。

    lpfn:指向一个应用程序定义的回调函数指针,请参看EnumThreadWndProc。

    lPararm:指定一个传递给回调函数的应用程序定义值。

    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

    速查:Windows NT:3.1以上版本; Windows:95以上版本; Windows CE:不支持:头文件:winuser.h;库文件:user32.Iib。

" No Yes Yes
1540 EnumWindows 枚举所有屏幕上的顶层窗口 "    函数功能:该函数枚举所有屏幕上的顶层窗口,办法是先将句柄传给每一个窗口,然后再传送给应用程序定义的回调函数。EnumThreadWindows函数继续到所有顶层窗口枚举完为止或回调函数返回FALSE为止

    函数原型:BOOL EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam);

    参数:

    lpEnumFunc:指向一个应用程序定义的回调数指针,请参看EnumWindowsProc。

    lPararm:指定一个传递给回调函数的应用程序定义值。

    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

    备注:EnumWindows函数不列举子窗口。

    在循环体中调用这个函数比调用GetWindow函数更可靠。调用GetWindow函数中执行这个任务的应用程序可能会陷入死循环或指向一个已被销毁的窗口的句柄。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib。

" No Yes Yes
1541 EnumWindowsProc 应用程序定义的回调函数 "    函数功能:该函数是一个与EnumWindows或EnumDesktopWindows一起使用的应用程序定义的回调函数。它接收顶层窗口句柄。WNDENUMPROC定义一个指向这个回调函数的指针。EnumWindowsProc是应用程序定义函数名的位置标志符。

    函数原型:BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam);

    参数:

    hwnd:顶层窗口句柄。

    lParam:指定在EnumWIndowsh或EnumDesktopWindows中的应用程序定义值。

    返回值:为继续列表,回调函数必须返回TRUE;若停止列表,它必须返回FALSE。

    备注:应用程序必须通过传递给EnumWindows或EnumDesktopWindows应用程序地址来注册这个回调函数。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本:头文件:winuser.h;库文件:用户自定义。

" No Yes Yes
1542 FRHookProc 由应用程序定义或库定义的回调函数 "    函数功能:该函数是由应用程序定义或库定义的回调函数。它和FindText函数或Replace Text函数一定使用。挂钩函数接收用于Find或Replace公共对话框的缺省对话框函数的消息和通告。

    LPFRHOOKPROC类型定义了一个指向此回调函数的指针,FRHookProc是一个应用程序定义的函数名的位置持有者。
    函数原型:UINT CALLBACK FRHookProc(HWND hdlg,UINT uiMsg WPARAM wParam,LPARAM LParam)

    参数:

    hdlg:指向消息所传送到的Find或Replace公共对话框窗口的句柄。

    uiMsg:指定有放的消息。

    wParam:指定有关消息的另外的信息,精确的意义要根据uiMsg参数的值来定。

    LParam:指定有关消息的另外的信息,精确的意义要根据uiMsg参数的值来定。如果uiMsg参数表明WM_INItDIALOG消息。IParam是一个指向FINDREPLACE结构的指针,该结构包含公共对话框创建时指定的值。

    返回值:如果挂钩函数返回零,缺省对话框函数处理消息;如果挂钩函数返回非零值,缺省对话框函数忽略消息。

    备注:当用FindText,或ReplaceText函数创建一个Find或Replace公共对话框时,可提供一个处理与公共对话框函数有关的信息和通告的FRHookProc挂钩函数。为使挂钩函数生效,应用传送到公共创建函数的FINDREPLACE结构且指定IpfnHook成员中挂钩函数的地址和指定Flags成员中FR_ENABLEHOOK标志的地址。缺省对话框函数处理WM_INTTDIALOG消息后,把它传递给挂钩函数,对于其他所有消息,挂钩函数首先接收消息,然后挂钩函数的返回值决定缺省对话框函数是处理消息或忽略它。如果挂钩函数处理WM_CTLCOLORDLG消息,那么必须返回一个有效的刷子句柄,以便绘制对话框的背景。总之如果挂钩函数处理任何一种WM_HLOLOR信息,那么必须返回一个有效的刷子句柄以绘制指定控制的背景。

    不须从挂钩函数调用EndDialog函数。相反,挂钩函数能调用PostMessage函数把带有IDABORT值的一个WM_COMMAND信息传送给对话框函数Posting IDABORT关闭对话框,使对话框函数返回FALSE值,若要了解为什么挂钩函数关闭对话框,必须提供挂钩函数和应用程序之间的联系机理。

    可以对公共对话框的标准控制面板进行子分类。但是公共对话框函数也可以对控制面板进行子分类。正因如此,必须在挂钩函数函数WM_INTDIALDG消息时对控制面板子分类。这就保证对话框函数设置子分类函数之前,子分类函数接收指定的控制消息。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;windows CE:不支持;头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1543 GetActiveWindows 获得活动窗口的窗口句柄 "    函数功能:该函数可以获得与调用线程的消息队列相关的活动窗口的窗口句柄。

    函数原型:HWND GetActiveWindow(VOID)


    参数:无。

    返回值:返回值是与调用线程的消息队列相关的活动窗口的句柄。否则,返回值为NULL。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:winser.h; 库文件:user32.lib。

" No Yes Yes
1544 GetClassInfoEx 获得有关窗口类的信息 "    函数功能:该函数获得有关窗口类的信息,包括与窗口类相关的小图标的句柄的信息。GetClassInfo函数不检索小图标的句柄。

    函数原型:BOOL GetClasslnfoEx(HINSTANCE hInst,LPCTSTR lpszClass,LPWNDCLASSEX lpwcx)

    参数 :

    hlnst:创建类的应用程序的事例的句柄。获得由系统定义的类(如按钮或列表框)的信息,设置该参数为NULL。

    LpszClass :指向一个包含类名的空结束的字符串的指针。类名必须为事先己注册的类,或是由此前调用 RegisterClassEx 函数注册的类。或者还可以是一个整型数,如果参数是一个整型数,它必须是由以前调用GlobaAdd原子函数创建的全局原子。这个16位整型数小于OXCOOO,必须是lpszClass的低16位,其高位字为 0。

    Lpwcx:指向接收类信息的WNDCLASSEX结构的指针。

    返回值:如果函数未发现一个匹配的类,并且成功地拷贝了数据,则返回值为0。若想获得更多错误信息,请调用 GetLastError函数。

    速查:Windows NT:35以上版本;Windows:95以上版本:Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode: 在Windows NT 上实现为Unicode和ANSI两种版本。

" No Yes Yes
1545 GetMouseMovePoints 取得鼠标或画笔 "    函数功能:该函数取得鼠标或画笔。

    函数原型:int GetMouseMovePoints(UINT cbSize,LPMOUSEMOVEPOlNT lppt,LPMOUSEMOVEPOINT lpptBuf,int nBufPoints,DWORD resolution);

    参数:

    cbSize:结构MOOSEMOVEPOINT的大小。

    lppt:指向结构MOUSEMOVEPOINT的指针,该结构包含了有效的鼠标坐标(屏幕坐标)。也可以包含一个时间标记。

    函数GetMouseMovePoints在鼠标坐标历史记录中查找一点。如果此函数查到该点,则返回包含提供点在内的在此之前的最后一个nBufPoints。如果应用程序提供一个时间标记,则函数GetMouseMovePoints将用它来区分记录于不同时间的两个相等的点。

    应用程序使用从消息WM_MOOSEMOVE中接收的鼠标坐标来调用此函数,并把它们转换为屏幕坐标。

    lpptBuf:将接收点的缓冲区的指针。其大小至少应为cbsze· nBuffPoints。

    nBufPoints:指定将取得的点的个数。

    resolution:指定希望的分辨率。此参数可取下列值之一:

    GMMP_USE_DISPLAY_POINTS:用显示分辨率取得点。

    GMMP_USE_DRIVER_pOINTS:用驱动器分辨率取得点。在Windows CE平台下,画笔驱动器的分辨率高于显示分辨率。这样,函数GetMouseMovePoints可被那些需要准确分辨率的应用程序使用。(如手写体识别软件或计算机辅助设计软件)。

    返回值:如果函数调用成功,返回值是缓冲区里的点的数目。否则,函数返回C1。若想获得更多的错误信息,请调用GetlastError函数。函数GetLastError可能返回下面的错误代码。

    GMMF_ERR_POINT_NOT_FOUNQ由lPPt指定的点找不到或不再存在于系统缓冲区中。

    备注:系统至少保留着64个鼠标坐标及其时间标记。如果应用程序给GetMouseMovePoints提供了一个鼠标坐标,而该坐标存在于系统中的鼠标坐标历史记录中,则函数从历史坐标记录取得指定个数的坐标。也可以提供一个时间标记,用来区分历史记录中相同的点。

    函数GetMouseMonePoints将返回实际发送给调用线程和其他线程的点。

    速查:WindowsNT:5.0及以上版本;Windows:98及以上版本;WindowsCE:2.0及以上版本;头文件:winuser.h;输入库:user32.lib。

" No Yes Yes
1546 GetSysModalWindow 该函数已经过时     函数功能:该函数已经过时,该函数只是为与16位版的窗口程序兼容而提供的。  No No No
1547 GetWindowTask 该函数已经过时   函数功能:该函数已经过时,该函数只是为与16位版的窗口程序兼容而提供的。基于32位的应用程序应该使用GetWindowThreadProcessld函数。  No No No
1548 InSendMessageEx 与InSendMesssge相似 "    函数功能:函数决定当前窗口程序是否处理另一个线程调用SendMessage(在相同进程或不同进程)发送来的消息。此函数与InsendMesssge相似,但另外提供了如何发送消息的信息。

    函数原型:DWORD InsendMessageEx(LPVOID LpReserved);

    参数:

    LpReserved:保留值,必须为NULL。

    返回值:如果消息没被发送,返回值是ISMEX_NOSEND。否则,返回值是一个或多个下列值:

    ISMEX_CALLBACK:消息是用函数SendMesssgeCallback发送的。发送此消息的线程没被阻塞。

    ISMEX_NOTIFY:消息是用函数SendNotifyMessags发送的。发送此消息的线程没被阻塞。

    ISMEX_REPLIED:窗口程序处理了消息。发送此消息的线程不再被阻塞。

    ISMEX_SEND:消息是用函数SendMessage或SendMessageTimeout发送的。如果ISMEX_REPLIED没设置,发送此消息的线程被阻塞。

    速查:Wihdows NT:5.0及以上版本:Windows:98及以上版本;Wihdows CE:不支持:头文件:winuser.h;输入库:user32.Iib。
" No Yes Yes
1551 OFNHookProc 应用程序定义的或库定义的回调函数 "    函数功能:该挂钩函数是应用程序定义的或库定义的回调函数,此回调函数与Explorer_Style和Save As公共对话框一起使用。函数贮存从公共对话框发送来的消息或通知LPOFNHOOKPROC类型定义一个指向回调函数指针,OFNHOOKProc是应用程序定义的或库定义的函数名的位置占有者,当创建一个Open或Save As公共对话框时,如果没有指定OFN_EXPLORER标志且需一个挂钩函数。必须用旧式的OFNHookProcOldSttyle挂钩函数。这种情况下对话框将显示旧式的用户界面。

    函数原型:UINT CALLBACK OFNHookProc(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam);

    参数:

    hdlg:指向Open或Save as对话框的子对话框的句柄。用GetParent函数可得到指向Open或Save As对话框窗口的句柄。

    uiMsg.标识存放的消息。

    wParam:指定有关消息的其他信息。精确的意义要根据uiMSg参数的值来决定。

    lParam:指定有关消息的其他信息。精确的意义要根据uiMsg参数的值来决定。如果uiMsg参数显示了WM_INITDIALOG消息, IParam是一个指向OPENFILENAME结构的指针。该结构含有创建对话框时指定的值。

    返回值:如果挂钩函数返回零,缺省对话框函数处理消息。如果挂钩函数返回非零值,缺省对话框函数忽略消息。对于CDN_SHAREVIOLATION和CDN_FILEOK通告消息,挂钩函数应该返回非零值,以表明已经利用SetWindowLong函数设置了一个非零DWL_MSGRESULT值。

    备注:当用GetOpenFileName或GetSaveFileName函数创建浏览器风格的Open或Save As公共对话框时,可以提供一个OFNHookProc挂钩函数。为使挂钩函数生效,须应用传递到对话创建函数的OPENFILENAME结构,且须指定一个指向PfnHook成员中的挂钩函数的指针,及指定Flags成员中OFN_ENABLEHOOK标识。

    如果为浏览器风格的公共对话框提供了一个挂钩函数,系统创建了一个缺省对话框的子对话框,挂钩函数为子对话框作为对话函数,此子对话框以OPENHLENAME结构指定的模块为基础,或如果没有指定模板,对话框是一个缺省的子对话框。当缺省对话框函数正在创建WM_INITDALOG消息时,创建了子对话框。在子对话框处理它本身的WM_INITDIALOG消息时,缺省对话函数删除掉标准控制面板,如果需要,可为子对话框的其他的任何一个控制面板提供空间,然后系统将CDN_INITDONE通告消息发送给挂钩函数。

    挂钩函数不接收指定给缺省对话框的标准控制面板的消息。可以对控制面板进行子分类,但是如果控制面板使应用程序与公共对话框将来的版本不一致,那么不能进行子分类。但浏览器风格的公共对话框提供了一套消息,此挂钩函数可利用此消息来最小化和控制对话框。它包括了从对话框发送来的一组通知消息,还有可以发送到从对话框检取信息的消息。关于这些消息的全部列表,参见EXplorer-StyleHookProcedures。

如果挂钩函数处理WM_CTLCOLORDLG信息,它必须返回一个有效的刷子句柄,以刷对话的背景。总之,如果挂钩函数处理任何一个WM_CTLCOLOR消息,那么必须返回一个有效刷子句柄,以绘制指定控制背景。不须从挂钩函数调用EndDialog函数。相反,挂钩能调用PostMessage函数把带有IDABORT值的一个WM_COMMAND信息,传送给对话框函数Posting IDABORT来关闭对话框,使对话框函数返回FALSE值。若要了解为什么挂钩函数关闭对话框,必须提供挂钩函数和应用程序之间的联系机理。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1552 OFNHookProcOldStyle 应用程序定义或库定义的回调函数 "    函数功能:该挂钩函数是应用程序定义或库定义的回调函数。此回调函数与Open和Save AS公共话框一起使用。函数接收指定给对话框函数的消息或通告。LPOFNHOOKPROC类型定义了一个指向这种回调函数的指针。OFNHookProcOldStyle是应用程序定义的或库定义的函数名的位置占有者。当创建一个Open或Save As公共对话框时,如果指定OFN_EXPLORER标志且需一个挂钩函数,那么必须应用一个Explorer_style的OFNHookProc挂钩函数。

    函数原型:UINT CALLBACK OFNHookProcOldStyle(HWND hdlg,UINT uiMsg,WPARAM wParam,LPARAM lParam);
    参数:

    hdlg:指向消息指定的Open或Save As对话框窗口。

    uiMsg:标识接收的消息。

    wParam:指定有关消息的其他信息。精确的意义要根据uiMSg参数的值来决定。

    lParam:指定有关消息的其他信息。精确的意义要根据uiMsg参数的值来决定。如果uiMsg参数显示了WM_INITDIALOG消息,IParam是一个指向OPENFILENAME结构的指针。该结构含有创建对话框时指定的值。

    返回值:如果挂钩函数返回零,缺省对话框函数处理消息;如果挂钩函数返回非零值,缺省对话框忽略消息。

    备注:当用GetOpenFileName或GetSaveFileName函数创建一个旧式的Open或SaveAs对话框时。可以提供一个OFNHookProcOldStyle挂钩函数。

为使挂钩函数生效,须应用传递到对话创建函数的OPENHLENAME结构,且须指定一个指向IpnHook成员中的挂钩函数的指针,及指定Flags成员中OFN_ENABLEHOOK标识。如果挂钩函数处理WM_CTLCOLORDLG消息,那么必须返回一个有效的刷子句柄,以便绘制对话框的背景。

总之,如果挂钩函数处理任何一种WM_CTLCOLOR信息,那么必须返回一个有效的刷子句柄以绘制指定控制的背景。不须从挂钩函数调用EndDialog函数。相反,挂钩函数能调用PostMessage函数,把带有IDABORT值的一个WM_COMMAND信息传送给对话框函数PostingIDABORT,并关闭对话框,使对话框函数返回 FALSE值,若要了解为什么挂钩函数关闭对话框,必须提供挂钩函数和应用程序之间的联系机理。

可以对公共对话框的标准控制面板进行子分类。但是公共对话框函数也可以对控制面板进行子分类。正因如此,必须在挂钩函数WM_INTDIALDG处理消息时对控制面板子分类。这就保证对话框函数设置子分类函数之前,子分类函数接收指定的控制消息。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1553 PagePaintHook 应用程序或库定义的回调函数 "    函数功能:该挂钩函数是一个由应用程序或库定义的回调函数,该回调函数与PageSetup函数一起使用。该函数接收制作PageSetup对话框中样本页绘图的消息。LLPPAGEPAINTHOOK类型定义了一个指向此回调函数的指针。PagePaintHook是由应用程序或库定义的函数名的位置持有者。

    函数原型:UINT CALLBACK PagePaintHook(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam);

    参数:

    hdlg:指向pagesetup对话枢窗口的句柄。

    uiMsg:标识接收的消息。

    wparam:指定有关消息的其他信息。精确的意义要根据uiMsg参数的值来决定。

    lParam:指定有关消息的其他信息。精确的意义要根据uiMsg参数的值来决定。

    返回值:如果挂钩函数对前三个绘图顺序消息中的任何一个返回值为TRUE。且前三个消息为WM_PSD_PAGESETUPDLG,WM_PSD_FULLPAGERECT或WM_PSD_MINMARGINRECT),对话框不再发送消息。且直到下一次系统需要重画样本页时才绘出样本页。如果对所有的三个消息。挂钩函数返回FALSE,对话框发送给图顺序的保留的消息。

    如果挂钩函数对绘图顺序中保留消息的任何一个,返回值为TRUE,那么对话框不绘样本页对应的部分,如果挂钩函数对这些信息中的任何一个返回值为FALSE,对话框绘样本页部分。

    备注: PageSetup对话框含有一个样本页的构想。此构想展示了用户选择如何影响打印输出的外观。构想由代表选择页或信封类型的长方形组成,点线长方形代表当前页边。部分字母展示了文本在打印出的页中的状况。当用PageSetupDlg函数创建Page Setup Dialog对话框时,可提供一个PagePaintHook挂钩函数来制作样本页的表观。

    为使挂钩函数生效,须用传递到创建对话函数的PAGESETUPDLG结构,且指定一个指向

    lpfnPagePrintHook成员中挂钩函数的指针和指定Flags成员中PSD_ENABLEPAGEPAINTHOOK标志。

    无论何时,只要对话框将要绘样本页的内容,那么挂钩函数就接受以下列顺序列表的消息:WM_PSD_PAGESETUPDLG:对话框将要绘样本页,挂钩函数利用此消息准备给样本页里的内容。

    WM_PSD_FULLPAGERECT:对话框要绘样本页,此信息指定样本页的长方形边。

    WM_PSD_MINMARGINRECT:对话框将要绘样本页,此信息指定空白长方形。

    WM_PSD_MARGINRECT:对话框将要绘空白长方形。

    WM_PSD_REEKTEXTRECT:对话框将要在空白长方形内绘Greek文本。

    WM_PSD_ENVSTAMPRECT:对话框将要在信封样本页上绘邮票长方形。此消息仅发向信封。

    WM_PSD_YAFULLPAGERECT:对话框将要绘信封样本页的返回地址部分。此消息仅发向信封和其他纸张大小。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持:头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1554 PageSetupHook 应用程序或库定义的回调函数 "    函数功能:该挂钩函数为由应用程序或库定义的回调函数。此回调函数与PageSetupDlg函数一起使用,它接收为PageSetup公用对话框设置缺省对话框的消息或通告。LPPAGESETUPHOOK类型定义了一个指向此回调函数的指针。PageSetupHook是由应用程序或库定义的函数名的位置持有者。

    函数原型:UINT CALLBACK PageSetupHook(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM LParam);

    参数:

    hdlg:指向消息指定给Page Setup对话框窗口的句柄。

    uiMsg:标识接收的消息。

    wParam:指定有关消息的其他信息。精确的意义要根据uiMsg参数的值来决定。

    LParam:指定有关消息的其他信息。精确的意义要根据uiMsg参数的值来决定。

    返回值:如果挂钩函数返回零,则缺省对话框函数处理消息;返回非零值,将忽略消息。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1555 PostAppMessage 该函数已过时     函数功能:该函数已过时。提供此函数只是为了与Windows的16位版本兼容。基于Win32的应用程序应该使用函数PostThreadMessage。  No No No
1556 PrintDlgEx 显示一个Print属性页 "    函数功能:该函数显示一个Print属性页。该属性页使用户指定特定的打印工作的特性,一个Print属性页有一个控制的General页。该控制与Print中的对话框相似。属性页也有另外紧随General页的指定的应用程序和指定的驱动器特性页。

    函数原型:HRESULT PrintDlgEx(LPPRINTDLGEX lppd);

    参数:

    lppd:指向一个包括初始化属性页信息的PRINTDLGEX结构。当PrintDlgEx函数返回时,此结构含有关于用户选择的信息。

    返回值:如果函数调用成功,返回值为S_OK,且PRINTDLGEX结构中的dw ResuhltAction成员含有下列值:

    PD_RESULT_APPLY:用户点击Apply按钮,然后点击Cancel按钮,这显示出用户想应用在属性页中做的改变,但还不想打印。当Apply按钮被点击时,PRINTDLGEX结构包含用户指定的信息。

    PD_RESUCT_CANCEI:用户点击Cancel按钮,PRINTDLGEX结构中的信息未被改变。

    PD_RESUCT_PRINT:用户点击Print按钮,PRINTDLGEX结构含有用户指定的信息。

    如果函数调用成功,返回值可能是下列COM错误代码中的一个,有关更多的信息请参见ErrorHandling。

    E_OUTOFMEMORT:内存不足;E_INVALIDARG:一个或更多的参数无效。

    E_POINTER:指针失效;E_HANDLE:句柄失效;E_FAIL:不确定的错误。

    备注:有关更多的信息,请见Print Propertysheet。

    速查:Windows NT:5.0及以上版本;Windows9x:不支持;Windows CE:不支持;头文件:commdlg.h,库文件。comdlg32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。

" No No Yes
1557 PrintHookProc 应用程序或库定义的回调函数 "    函数功能:该挂钩函数是一个由应用程序或库定义的回调函数,此回调函数与PrintDlg函数一起使用。

    函数接收指定给Print公共对话框的缺省对话框函数的消息和通知。LPPWTHOOKPROC类型定义了一个指向此回调函数的指针。PrintHookProc为由应用程序或库定义的函数名的位置占有者。

    函数原型:UINT CALLBACK PrintHookProc(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam);

    参数:

    hdlg:指向消息指定给的Print公共对话框窗口的句柄。

    uiMsg:标识接收的消息。

    wParam:指定有关消息的其他信息、精确的意义由uiMsg参数的值来决定。

    lParam:指定有关消息的其他信息、精确的意义由uiMsg参数的值来决定。

    返回值:如果挂钩函数返回值为零,缺省对话框函数处理消息;返回非零值,将忽略消息。

    备注:当用PrintDlg函数创建一个Print公共对话框时,可以提供一个PrintHookProc挂钩函数来处理指定给对话框函数的消息或通知。

    为使挂钩函数生效,要用传递到创建对话框函数的PRINTDLG结构,且要指定lpfnPrintHook成员中挂钩函数的地址和指定Flags成员中PD_ENABLEPRINTHOOK标志。

    缺省对话框函数把消息WM_InITDIALOG传送到挂钩函数之前先处理此消息。对于其他所有的消息,挂钩函数首先存放消息。然后其返回值决定此缺省对话函数是处理消息或忽略消息。

    速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:2.0及以上版本;头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1558 RegisterWindowsMessage 定义一个新的窗口消息 "函数功能:该函数定义一个新的窗口消息,该消息确保在系统中是唯一的。返回的消息值可在调用函数SendMessage或PostMessage时使用。

    函数原型:UINT RegisterWindowsMessage(LPCTSTR lpString);

    参数:

    lpString:指定将被注册的消息的以‘/O’结束的字符串指针。

    返回值:如果消息被成功注册,返回值是在范围OxCOOO到OxFFFF的消息标识符;如果函数调用失败,返回值是零。要得到更多的错误信息,调用函数GetLastError。

    备注:RegisterWindowMessage通常为合作应用程序间的通信注册消息。

    如果不同的应用程序注册同样的消息字符串,应用程序返回同样的消息值。消息保持注册,直到会话完成。

    当一个以上的应用程序必须处理同一个消息时,必须使用RegisterWindowMessage。要在窗口类里发送私有消息,应用程序可以使用UM_USER到OX7FFF范围内的任意整数。(在此范围的消息对窗口类私有,而不是对应用程序私有。如,预定义的控制类如BUTTON, EDIT LISTBOX和COMBOBOX可用此范围的值。)

    速查:Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib;Unicode:在Windows NT环境下以Unicode和ANSI方式实现。

" No Yes Yes
1559 SendAsyncProc 应用程序定义的回调函数 "    函数功能:该函数是应用程序定义的回调函数,和SendMessageCallback一起使用。系统在将消息传给目标窗口程序后,将消息传给回调函数。类型SENDASYNCPROC定义了一个指向此回调函数的指针。SendAsyncProc是此应用程序定义的函数名的占位符。

    函数原型:VOID CALLBACK SendAsyncProc(
                HWND hwnd,              // handle of destination window
                UINT uMsg,              // message
                DWORD dwData,           // application-defined value
                LRESULT lResult         // result of message processing
               );

    参数:

    hwnd;其窗口程序接收消息的窗口的句柄。如果将SendMessageCallback的参数hwnd设置为HWND_BROADCAST,系统为每个顶层窗口调用一次SendAsyncProc。

    uMsg:指定消息。

    dwData:指定从函数SendMessageCallback发送来的应用程序定义的值。

    lResult:指定消息处理的结果与消息。

    返回值:此回调函数无返回值。

    备注:通过传一个SENDASYNCPROC指针给函数SendMessageCallback来安装一个SendAsyncProc应用程序定义的回调函数。

    此回调函数仅当调用SendMessageCallback的线程调用GetMessage,PeekMessage或WaitMessage时调用。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件: winuser.h;输入库:user32.lib。

" No Yes Yes
1560 SendInput 用于合成击键、鼠标移动、按钮按下等 "    函数功能:该函数用于合成击键、鼠标移动、按钮按下等。

    函数原型:UINT SendInput(UINT nInputs,LPINPUT pInputs,int cbSize);

    参数:

    nInputs:定义pInputs指向的结构的数目。

    pInputs:指向INPUT结构数组的指针。每个结构代表插人到键盘或鼠标输入流中的一个事件。

    cbSize:定义INPUT结构的大小。若cbSize不是INPUT结构的大小,则函数调用失败。

    返回值:函数返回被成功地插人键盘或鼠标输入流中的事件的数目。若要获得更多的错误信息,可以调用GetlastError函数。

    备注:SendInput函数将INPUT结构中的事件顺序地插入键盘或鼠标的输入流中。这些事件与用户插入的(用鼠标或键盘)或调用keybd_event,mouse_event,或另外的SendInput插人的键盘或鼠标的输入流不兼容。

    Windows CE:Windows CE不支持pInputs参数指向的INPUT结构的类型域中的INPUT_HARDWARE值。

    速查:Windows NT:4.0及以上版本:Windows:98及以上版本;Windows CE:不支持;头文件:winuser.h;

    库文件:user32.lib。

" No Yes Yes
1561 SendMessageExtraInfo 为当前线程设置附加消息信息 "    函数功能:该函数为当前线程设置附加消息信息。附加消息信息是应用程序或驱动程序定义的与当前线程的消息队列联系的32位值。GetMessageExtralnfo来取得线程的附加消息信息。

    函数原型:LPARAM SetMesssgeExtraInfo(LPARAM LParam);

    参数:

    LParam:指定与当前线程联系的32位值。

    返回值:返回值为前一个32位值。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winser.h;输入库:user32.lib。

" No Yes Yes
1562 SetSysModalWindow 该函数已经过时     函数功能:该函数已经过时,该函数只是为与16位版的窗口程序兼容而提供的。新的输入模块不允许系统的模块窗口。  No No No
1563 SetupHookProc 应用程序或库定义的回调函数 "    函数功能:该挂钩函数是一个由应用程序或库定义的回调函数,该回调函数与PrintDlg函数一起使用。

    其他同函数19。

    函数原型:UINT APIENTRY SetupHookProc(
               HWND hdlg,                 // handle to the dialog box window
               UINT uiMsg,                // message identifier
               WPARAM wParam,             // message parameter
               LPARAM lParam              // message parameter
              );

    参数:

    hdlg:指向消息指定给的Print公共对话框窗口的句柄。

    UiMsg:标识接收的消息。

    wParam:指定有关消息的其他信息、精确的意义由uiMSg参数的值来决定。

    lParam:指定有关消息的其他信息、精确的意义由uiMsg参数的值来决定。

    返回值:如果挂钩函数返回值为零,缺省对话框函数处理消息;返回非零值,将忽略消息。

    备注;PrintSetup对话框函数已经被PageSetup对话框所取代。这需要用新的应用程序来使用。但是,为了一致性,PrintDlg函数仍支持PrintSetup对话框的显示。可以提供一个SetupHookProc函数给PrintSetup对话框,从便处理指定给对话框函数的消息和通知。为使挂钩函数生效,要用传递到对话创建函数的PRINTDLG结构,且指定lpfnSetupHook成员中挂钩函数的地址和指定Flags成员中PD_ENABLESETUPHOOK标志。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:commdlg.h;库文件:用户自定义。

" No Yes Yes
1564 SoundSentryProc 一个库定义的回调函数 "    函数功能:该函数是一个库定义的回调函数,当SOUNDSENTRY易用特性存在,并且一个基于win32的应用程序(或者在窗口内运行的应用程序)通过计算机的内置扬声器发声时,它产生一个控制的可视化消息。

    函数原型:LRESULT CALLBACK SoundSentryProc(DWORD dwMillisec, DWORD fdwEffect);

    参数:

    Millisec:指定可视化消息的持续时间,以毫秒为单位。该消息是在一个基于win32的应用程序(或运行在窗口的应用程序)发声时显示出来的。

    tdwEffect:指定要显示的可视化消息的类型。当前值通常应为SSWF_CUSTOM。

    返回值:如果可视化消息已经或将要正确显示,那么返回值为TRUE,如果消息异步,并当调用该函数时其状态无效,那么应该返回TRUE。如果出错使得消息无法显示,那么返回值为FALSE。若想获得更多错误信息,请调用GetLastError函数。

    备注:包含SoundSentryProc函数的库必须是一个32位的DLL,并且该 DLL必须导出名为SoundSentryProc的函数,即供外部调用和连接。SoundSentryProc函数只是在应用程序或库调用SystemParametersInfo函数之后才调用。SystemParametersInfo函数指定SPI_SETSOUNDSENTRY项的值以及SOUNDSENTRY结构的地址,在SOUNDSENTRY结构中,成员iWindowsEffect的值设为SSWF_CUSTOM。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;库文件:用户自定义。

" No Yes Yes
1565 ToUnicodeEx 转换虚拟关键字代码为ANSI字符 "    函数功能:该函数将给定的虚拟键码和键盘状态翻译成相应的字符或字符串。

    函数原型: int ToUnicodeEx(
               UINT wVirtKey,           // virtual-key code
               UINT wScanCode,          // scan code
               PBYTE lpKeyState,        // address of key-state array
               LPWSTR pwszBuff,         // buffer for translated key
               int cchBuff,             // size of translated key buffer
               UINT wFlags,             // set of function-conditioning flags
               HKL dwhkl                // keyboard layout handle
              );

    参数:

    wVirtKey:定义将被翻译的虚拟键码。

    wScanCode:定义被翻译键的硬件扫描码。若该值的最高为被置为1,则该键处于uP状态。

    lpKeyState:指向一个包含当前键盘状态的256字节数组。数组中的每个成员(字节)包含了一个键的状态。若一字节的最高位被置为1,则该键处于down状态。

    pwszBuff:接受翻译所得Unicode字符或字符串的缓冲区指针。

    cchBuff:定义pwszBuff参数指向的缓冲区中字符串的大小。

    wFlags:形成函数执行条件的一个标志域集。若一个菜单处于激活状态,则将第0位设置为1。第1位到第31位保留。

    dwhkl:用键盘层翻译指定的代码。

    返回值;该函数返回值同ToUnicode。

    速查:Windows NT:4.0及以上版本;Windows:不支持;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib。

" No No Yes
1566 TrackMouseEvent 发送鼠标移动相关消息 "    函数功能:当在指定时间内鼠标指针离开或盘旋在一个窗口上时,此函数寄送消息。

    函数原型:BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);

    参数:

    lpEventTrack;指向结构TRACKMOUSEEVENT的指针。

    返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。

    此函数能寄送如下消息:

    WM_MOUSEHOVER:在上次调用TrackMouseEvent指定的时间里,鼠标盘旋在窗口的客户区。当此消息产生时,盘旋跟踪停止。如果需要进一步的鼠标盘旋跟踪,应用程序应当再次调用TrackMouseEvent。

    WM_MOUSELEAVE:鼠标离开上次调用TrackMouseEvent时指定的窗口客户区。当此消息产生时,所有由TrackMouseEvent要求的跟踪都被取消。当鼠标再次进入窗口,并且要求进一步的鼠标盘旋跟踪时,应用程序必须调用TrackMouseEvent。

    备注:当鼠标指针在指定时间内停留在指定矩形内,就被认为是处于盘旋状态。调用函数

    SystemParameterslnfo并使用SPI_GETMOUSEAOVERWIDTH,SPI_GETMOUSEHOVERAEIGHT和

    SFI_GETMOOSEAOVERTIME值来取得矩形的大小和时间。

    速查:Windows NT 4.0及以上版本;Windows98及以上版本;WindowsCE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。

" No Yes Yes
1567 UnlockResource 该函数已过时     函数功能能:该函数已过时。这个函数仅兼容于16位的Windows,对于32位的应用程序不必要解锁资源。  No No No
1568 WindowProc 处理发送给窗口的消息 "    函数功能:该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WNDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。

    函数原型:LRESULT CALLBACK WindowProc(
               HWND hwnd,                   // handle of window
               UINT uMsg,                   // message identifier
               WPARAM wParam,               // first message parameter
               LPARAM lParam                // second message parameter
               );

    参数:

    hwnd:指向窗口的句柄。

    uMsg:指定消息类型。

    wParam:指定其余的、消息特定的信息。该参数的内容与UMsg参数值有关。

    lParam:指定其余的、消息特定的信息。该参数的内容与uMsg参数值有关。

    返回值:返回值就是消息处理结果,它与发送的消息有关。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0 以上版本;头文件:winuser.h;库文件:用户自定义。

" No Yes Yes
1569 WinMain 32位应用程序的入口点 "    函数功能:该函数被系统调用,作为一个32位应用程序的入口点。

    函数原型:int WINAPI WinMain(
               HINSTANCE hInstance,     // handle to current instance
               HINSTANCE hPrevInstance, // handle to previous instance
               LPSTR lpCmdLine,         // pointer to command line
               int nCmdShow             // show state of window
              );

    参数;

    hInstance:应用程序当前实例的句柄。

    hPreInstance:应用程序的前实例的句柄。对于一个32的位程序,该参数总为NULL。

    如果需要检测另外一个实例是否已经存在,则使用CreateMutex函数创建一个独一无二的名字。即使互斥名已经存在,CreateMutex函数也是成功的,但是GetLastError函数将返回 ERROR_ALREADY_EXISTS,这就表明在应用程序中有另外一个事例存在,因为它首先创建了互斥名。

    lpCmdLine:指向应用程序命令行的空字符串的指针,不包括函数名。获得整个命令行,参看GetCommandLine。

    nCmdShow:指明窗口如何显示。该参数可以是下列值之一:

    SW_HIOE:隐藏窗口并且激活另外一个窗口。

    SW_MINIMIZE:最小化指定的窗口,并且激活在系统表中的顶层窗口。

    SW_RESTORE:激活并显示窗口。如果窗口已经最小化或最大化,系统将以恢复到原来的尺寸和位置显示窗口(与SW_SHOWNORMAL相同)。

    SW_SHOW:激活一个窗口并以原来的尺寸和位置显示窗口。

    SW_SHOWMAXIMIZED:激活窗口并且将其最大化。

    SW_SHOWMINIMIZED:激活窗口并将其目标化。

    SW_SHOWMINNOACTIVE:将一个窗口显示为图标。激活窗口维持活动状态。

    SW_SHOWNA:以窗口的当前状态显示窗口。激活窗口保持活动状态。

    SW_SHOWNOACTIVATE:以窗口的最近一次的尺寸和位置显示窗口。激活窗口维持激活状态。

    SW_SHOWNORMAL:激活并显示窗口。如果窗口最大化或最小化,系统将其恢复到原来的尺寸和位置(与SW_RESTORE相同)。

    返回值:如果函数成功,当它接收到一个WM_QUIT消息时就中止,函数应该返回在该消息的wParam参数的退出值。如果函数在进入消息循环时退出,应该返回零。

    备注:WinMain函数应初始化应用程序,显示主窗口,进入一个消息接收一发送循环,这个循环是应用程序执行的其余部分的顶级控制结构。当接收到一个WM_QUIT消息时,程序就中止。这时,WinMain函数应退出应用程序,并且返回传递给WM_QUIT消息的wParam参数的值。如果由于调用PostQuitMessage函数而接收到WM_QUIT消息,wParam的值是PostQuiMessage函数的nExitCode的值。请参看“创建一个窗口循环”。

    ANSI应用程序可以使用WinMain函数的lpCmdLine参数进入命令行字符串(除了程序名之外)。WinMain不能返回Unicode字符串的原因是IpCmdLine使用的是LPSTR数据类型,而不是LPTSTR类型。GetCommandLine函数可以用于进入命令行的Unicode字符串,因为它使用的是LPTSTR类型。

    Windows CE:Windows CE不支持下列 nCmdLine参数值:

    SW_MINIMIZE;SW_RESTORE;SW_RESTORE;SW_SHOWMAXMIZED

    SW_SHOWMINIMIZED;SW_SHOWMINNOACTIVE

    速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本;头文件:Winbase.h库文件:用户自定义。

" No Yes Yes

原创粉丝点击