捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
29 2017.06

SystemParametersInfo

点击次数:1561 更新时间:2017-6-29 20:21:32  【打印此页

原文链接 -> 传送门

函数功能:

SystemParametersInfo 函数用于查询或设置系统级参数。该函数也可以在设置参数时更新用户配置文件。


API 函数原型:

注释:_In_ 说明该参数是输入的,_Out_ 说明该参数是输出的。

BOOL WINAPI SystemParametersInfo(
  _In_    UINT  uiAction,
  _In_    UINT  uiParam,
  _Inout_ PVOID pvParam,
  _In_    UINT  fWinIni
);



参数解析:
 

参数

含义

uiAction

1. 该参数指定要查询或设置的系统级参数

2. 其取值如下表:
 

·         辅助参数(Accessibility parameters)

·         桌面参数(Desktop parameters)

·         图标参数(Icon parameters)

·         输入参数(Input parameters)

·         菜单参数(Menu parameters)

·         电源参数(Power parameters)

·         屏保参数(Screen saver parameters)

·         超时参数(Time-out parameters)

·         UI 特效参数(UI effect parameters)

·         窗口参数(Window parameters)


3. 下面是辅助参数:
 

辅助参数

含义

SPI_GETACCESSTIMEOUT
(0x003C)

获取与可访问功能相关联的超时段的信息,pvParam 参数必须指向某个 ACCESSTIMEOUT 结构以获得信息,并将该结构中的 cbSjze 成员和 uiParam 参数的值设为 sizeof(ACCESSTIMEOUT)

SPI_GETAUDIODESCRIPTION
(0x0074)

1. 决定音频描述启用或禁用。pvParam 参数指向AUDIODESCRIPTION 结构指针。并将该结构中的 cbSjze 成员和 uiParam 参数的值设为 sizeof(AUDIODESCRIPTION)

2. 尽管视频里有很多动作没有对应的声音,然而对那些存在视力障碍的用户通过声音理解视频内容是可能的。视频里特殊的声音描述帮助这些用户更好地理解视频内容。这个标志允许您确定是否启用音频描述和使用哪一种语言

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETCLIENTAREAANIMATION
(0x1042)

1. 确定动画效果是否开启。pvParam 参数必须指向一个 BOOL 变量以接收该值。如果允许,那么变量接收值为 TRUE,否则为 FALSE

2. 如闪烁,眨眼,忽隐忽现和移动内容显示功能可以导致用户对光敏感癫痫发作。这个标志允许您确定这样的动画是否已经在客户区禁用

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETDISABLEOVERLAPPEDCONTENT
(0x1040)

1. 确定内容重叠效果是否开启。pvParam 参数必须指向一个 BOOL 变量以接收该值。如果允许,那么变量接收值为 TRUE,否则为 FALSE

2. 比如背景图像、纹理背景、文件水印、混合透明和透明度显示功能可以降低前景和背景之间的对比,使低视力用户更难看到屏幕上的东西。这个标志允许您确定这些重叠的内容是否已被禁用

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETFILTERKEYS
(0x0032)

获取有关 FilterKeys (过滤键)辅助功能的信息。pvParam 参数必须指向 FILTERKEYS 结构,以接收信息,并将该结构中的 cbSze 成员和 uiParam 参数的值设为 sizeof(FILTERKEYS)

SPI_GETFOCUSBORDERHEIGHT
(0x2010)

1. 获取 DrawFocusRect 函数画出的焦点矩形顶部到底部边缘的高度,以像素为单位。pvParam 参数必须指向 UINT 类型

2. Windows 2000:不支持该参数

SPI_GETFOCUSBORDERWIDTH
(0x200E)

1. 获取 DrawFocusRect 函数画出的焦点矩形左边到右边的宽度,以像素为单位。pvParam 参数必须指向 UINT 类型

2. Windows 2000:不支持该参数

SPI_GETHIGHCONTRAST
(0x0042)

1. 获取 HighContrast 辅助功能有关的信息。pvParam 参数必须指向用于接收该信息的 HIGHCONTRAST 结构。该结构中的 cbSize 成员和 uiParam 参数的值应设为 sizeof(HIGHCONTRAST)

2. 对于一般性的讨论,请参阅备注

SPI_GETLOGICALDPIOVERRIDE
(0x009E)

1. 获取 Windows 8 决定是否使用的默认缩放配置或更高配置显示应用程序的值。这个值是基于当前屏幕上 “Make everything on your screen bigger” 设置,计算机中的轻松访问可以快速进入:1 表示开,0 表示关闭

2. 应用程序可以提供文本和图像资源的几个缩放配置:100%,140%,180%。为特定的缩放提供单独的资源避免由于调整尺寸产生失真。Windows 8 会基于很多因素而确定适当的缩放配置,包括屏幕大小和像素密度。当选“让屏幕中所有内容变得更大”设置时(SPI_GETLOGICALDPIOVERRIDE 返回 1),Windows 使用更高配置的资源。例如,在 Windows 决定应该使用 SCALE_100_PERCENT 硬件配置情况下,假设它不违反其他限制,这种覆盖导致 Windows 使用 SCALE_140_PERCENT 缩放值

3. 注释:你不应该使用这个值。它可能在后续的 Windows 版本改变或不可用。使用 GetScaleFactorForDevice 函数或 DisplayProperties 类获取优先缩放比例。桌面应用程序应该使用桌面逻辑 DPI 而不是缩放比例。通过GetDeviceCaps 函数获取桌面逻辑 DPI

SPI_GETMESSAGEDURATION
(0x2016)

1. 获取弹出窗口通知应该显示的时间,单位为秒。pvParam 参数必须指向 ULONG 类型以接收消息的持续时间

2. 有视觉障碍或智力障碍的用户,如多动症和阅读障碍可能需要更长的时间来阅读通知消息的文本内容。这个标志允许您获取消息持续时间

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETMOUSECLICKLOCK
(0x101E)

1. 获取鼠标自动上锁功能的状态。pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用,返回 TRUE,否则将返回 FALSE。更多信息,请查阅 About Mouse Input

2. Windows 2000:不支持该参数

SPI_GETMOUSECLICKLOCKTIME
(0x2008)

1. 获取前鼠标按钮被锁着的时间延迟。pvParam 参数必须指向 DWORD 以接收延迟时间,以毫秒为单位。这个功能当 SPI_SETMOUSECLICKLOCK 设置为 TRUE 时才开启。更多信息,请查阅 About Mouse Input

2. Windows 2000:不支持该参数

SPI_GETMOUSEKEYS
(0x0036)

获取与 MouseKeys 辅助功能有关的信息,pvParam 参数必须指向一个 MOUSEKEYS 结构,以获取信息。应将结构的 cbSize 成员和 uiParam 参数设置为 sizeof(MOUSEKEYS)

SPI_GETMOUSESONAR
(0x101C)

1. 获取鼠标声纳功能的状态。pvParam 参数必须指向一个 BOOL 变量以接收该值,TRUE 为启用,FALSE 为禁用。更多信息,请查阅 About Mouse Input

2. Windows 2000:不支持该参数

SPI_GETMOUSEVANISH
(0x1020)

1. 获取鼠标弱化音功能的状态。pvParam 参数必须指向一个 BOOL 变量以接收该值,TRUE 为启用,FALSE 为禁用。更多信息,请查阅 About Mouse Input

2. Windows 2000:不支持该参数

SPI_GETSCREENREADER
(0x0046)

1. 获取屏幕文本工具是否正在运行。屏幕文本工具引导文本信息到输出设备,如语音合成器或盲文显示。当这个标志被设置,应用程序应该在它原本存在图形信息的情况下提供文本信息

2. 参数 pvParam 指向 BOOL 类型变量以接收该值。屏幕文本工具正在运行接收为 TRUE,否则为 FALSE

3. 注释:包含屏幕阅读器的 Windows,不要设置 SPI_SETSCREENREADER 或 SPI_GETSCREENREADER 标记

SPI_GETSERIALKEYS
(0x003E)

1. 该参数没有使用

2. Windows Server 2003 和 Windows XP/2000:用户可以通过控制面板设置

SPI_GETSHOWSOUNDS
(0x0038)

1. 确定 ShowSounds 辅助功能标志是开或是关。如果是开,那么用户需要一个应用程序来可视化地表达信息,占则只能以听得见的方式来表达。参数 pvParam 必须指向一个 BOOL 类型变量。该变量在该功能处于开状态时接收值为 TRUE,否则为 FALSE

2. 使用这个值等同于调用GetSystemMetrics(SM_SHOWSOUNDS) 函数。后者是推荐使用的调用方式

SPI_GETSOUNDSENTRY
(0x0040)

获取与 SoundSentry 辅助功能有关的信息。参数 pvParam 必须指向 SOUNDSENTRY 结构以接收信息。该结构中的 cbSize 或员和 uiParam 参数的值要设为 sizeof(SOUNDSENTRY)

SPI_GETSTICKYKEYS
(0x003A)

获取与 StickyKeys 辅助功能有关的信息。参数 pvParam 必须指向 STICKYKEYS 结构以获取信息。该结构中的 cbSize成员及 uiParam 参数的值必须设为 sizeof(STICKYKEYS)

SPI_GETTOGGLEKEYS
(0x0034)

获取关于 ToggleKeys 辅助功能有关的信息。参数 pvParam 必须指向 TOGGLEKEYS 结构以获取信息。该结构中的 cbSize 成员和 uiParam 参数值要设置 sizeof(TOGGLEKEYS)

SPI_SETACCESSTIMEOUT
(0x003D)

设置与辅助功能有关的时间限度值,参数 pvParam 必须指向包含新参数的 ACCESSTIMEOUT 结构,该结构的 cbSize 成员与 uiParam 参数的值要设为 sizeof(ACCESSTIMEOUT)

SPI_SETAUDIODESCRIPTION
(0x0075)

1. 设置转换音频描述特性开启或者关闭。参数 pvParam 指向 AUDIODESCRIPTION 结构指针

2. 虽然有很多视频的动作没有相应的音频,但是视力受损的用户通过声音了解视频内容是可能的。特定的音频描述帮助这些用户更好地理解正在发生视频内容。这个标志允许在支持的语言内您启用或禁用音频描述

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETCLIENTAREAANIMATION
(0x1043)

1. 设置动画效果开启或者关闭。参数 pvParam 是一个 BOOL 变量,设置为 TRUE,在客户区开启动画和其他瞬态效应,FALSE 禁用它们

2. 如闪烁,眨眼,忽隐忽现和移动内容显示特性可以导致用户对光敏感癫痫发作。这个标志允许您确定所有这样的动画是否已经在客户区禁用

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETDISABLEOVERLAPPEDCONTENT
(0x1041)

1. 设置内容重叠效果(例如背景图片和水印)是否开启。pvParam 参数必须指向一个 BOOL 变量以设置该值。如果禁用,那么变量设置为 TRUE,否则为 FALSE

2. 比如背景图像、纹理背景、文件水印、混合透明和透明度显示特性可以降低前景和背景之间的对比,使低视力用户更难看到屏幕上的东西。这个标志允许您确定这些重叠的内容是否已被禁用

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETFILTERKEYS
(0x0033)

设置 FilterKeys 辅助功能的参数。参数 pvParam 必须指向包含新参数的 FILTERKEYS 结构,该结构中的 cbSize 成员和参数 uiParam 的值应设为sizeof(FILTERKEYS)

SPI_SETFOCUSBORDERHEIGHT
(0x2011)

1. 给 pvParam 参数设置 DrawFocusRect 函数画出的焦点矩形顶部到底部边缘的高度值

2. Windows 2000:不支持该参数

SPI_SETFOCUSBORDERWIDTH
(0x200F)

1. 给 pvParam 参数设置 DrawFocusRect 函数画出的焦点矩形左边到右边的宽度值

2. Windows 2000:不支持该参数

SPI_SETHIGHCONTRAST
(0x0043)

设置 HighContrast 辅助功能的参数。参数 pvParam 必须指向 HIGHCONTRAST 结构,该结构包含新的参数。该结构中的 cbSize 成员及参数 uiParam 的值设为sizeof(HIGHCONTRAST)

SPI_SETLOGICALDPIOVERRIDE
(0x009F)

不使用

SPI_SETMESSAGEDURATION
(0x2017)

1. 设置弹出窗口通知应该显示的时间,单位为秒。pvParam 参数设置消息持续时间

2. 有视觉障碍或智力障碍的用户,如多动症和阅读障碍可能需要更长的时间来阅读通知消息的文本内容。这个标志允许您设置消息持续时间

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETMOUSECLICKLOCK
(0x101F)

1. 设置鼠标自动上锁特性的开启或者关闭。当前按钮按下 SPI_SETMOUSECLICKLOCKTIME 设置的时间,开启该特性会暂时锁定前鼠标按钮。pvParam 参数指定的 TRUE 为开启,FALSE 关闭。默认是关闭的。更多信息,请查阅About Mouse Input

2. Windows 2000:不支持该参数

SPI_SETMOUSECLICKLOCKTIME
(0x2009)

1. 设置前鼠标按钮被锁着的时间延迟。uiParam 参数应该设置为 0。pvParam 参数指向一个 DWORD 以设置延时,单位为毫秒。例如,1000 就是 1 秒延迟。默认值是1200。更多信息,请查阅 About Mouse Input

2. Windows 2000:不支持该参数

SPI_SETMOUSEKEYS
(0x0037)

设置 MouseKeys 辅助功能的参数。参数 pvParam 必须指向包含新参数的 MOUSEKEYS 结构。结构中的 cbSize 成员与参数 uiParam 的值应设为sizeof(MOUSEKEYS)

SPI_SETMOUSESONAR
(0x101D)

1. 设置声纳辅助功能开启或关闭。当用户按下和释放 CTRL 键,此功能显示几个同心圆鼠标指针。pvParam 参数设置 TRUE 为开启,FALSE 为关闭。默认是关闭的。更多信息,请查阅 About Mouse Input

2. Windows 2000:不支持该参数

SPI_SETMOUSEVANISH
(0x1021)

1. 设置弱化音开启或关闭。当用户键入,此功能隐藏鼠标指针;当用户移动鼠标,指针重新出现。pvParam 参数设置 TRUE 为开启,FALSE 为关闭。默认是关闭的。更多信息,请查阅 About Mouse Input

2. Windows 2000:不支持该参数

SPI_SETSCREENREADER
(0x0047)

1. 表示屏幕审阅程序是否运行。参数 uiParam 指定为 TRUE 表示运行该程序,FALSE 则不运行

2. 注释:包括屏幕辅读器窗口不要设置 SPI_SETSCREENREADER 或者 SPI_GETSCREENREADER 标记

SPI_SETSERIALKEYS
(0x003F)

1. 不支持该参数

2. Windows Server 2003 和 Windows XP/2000:用户应该通过控制面板设置该值

SPI_SETSHOWSOUNDS
(0x0039)

将 ShowSounds 辅助功能设置为打开或关闭。参数 uiParam 指定为 TRUE 时表示打开,FALSE 表示关闭

SPI_SETSOUNDSENTRY
(0x0041)

设置 SOUNDSENTRY 辅助功能的参数。参数 pvParam 必须指向 SOUNDSENTRY 结构,该结构包含新参数。其成员 cbSize和参数 uiParam 的值应设为 sizeof(SOUNDSENTRY)

SPI_SETSTICKYKEYS
(0x003B)

设置 StickyKeys 辅助功能的参数。参数 pvParam 必须指向包含新参数的 STICKYKEYS 结构,其成员 cbSize 和 uiParam 参数的值要设为 sizeof(STICKYKEYS)

SPI_SETTOGGLEKEYS
(0x0035)

设置 ToggleKeys 辅助功能的参数,参数 pvParam 必须指向 TOGGLEKEYS 结构,该结构中包含新的参数。其成员 cbSize 和参数 uiParam 的值要设为 sizeof(TOGGLEKEYS)


4. 下面是桌面参数:
 

桌面参数

含义

SPI_GETCLEARTYPE
(0x1048)

1. 判断是否开启 ClearType。pvParam 参数必须指向一个 BOOL 变量接收该值。TRUE 为启用,否则 FALSE

2. ClearType 是一种软件技术,用于改善液晶显示器(LCD)下文本的可读性

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETDESKWALLPAPER
(0x0073)

获取桌面墙纸位图文件的完整路径。pvParam 参数必须指向缓冲区以接收字符串终止符。设置 uiParam 参数为缓冲区大小,字符单位,pvParam 指向缓冲区。返回的字符串长度不会超过 MAX_PATH 。如果没有桌面墙纸,返回的字符串是空的

SPI_GETDROPSHADOW
(0x1024)

1. 获取是否启用了阴影效果。pvParam 参数必须指向一个 BOOL 变量以接收该值,TRUE 为启用,FALSE 为禁用

2. Windows 2000:不支持该参数

SPI_GETFLATMENU
(0x1022)

1. 获取本地用户是否有扁平化菜单的外观。pvParam 参数必须指向一个 BOOL 变量,如果平菜单外观设置返回 TRUE,否则将返回 FALSE

2. Windows 2000:不支持该参数

SPI_GETFONTSMOOTHING
(0x004A)

1. 表示字体平滑处理特征是否开启。该特征使用字体保真技术,通过在不同灰度级上涂上像素使字体曲线显得更加平滑

2. 参数 pvParam 必须指向 BOOL 类型变量,如果该特征被允许,那么接收值为 TRUE,否则为 FALSE

SPI_GETFONTSMOOTHINGCONTRAST
(0x200C)

1. 获取 ClearType 平滑对比值。pvParam 参数必须指向 UINT 类型变量以接收信息。有效的对比度值从 1000 到 2200 。默认值是 1400

2. Windows 2000:不支持该参数

SPI_GETFONTSMOOTHINGORIENTATION
(0x2012)

1. 获取字体平滑方向。pvParam 参数必须指向 UINT 类型变量接收信息。可能接收的值是 FE_FONTSMOOTHINGORIENTATIONBGR(blue-green-red) 和 FE_FONTSMOOTHINGORIENTATIONRGB(blue-green-red)

2. Windows XP/2000:Windows XP SP2 之前的 Window 版本不支持该参数

SPI_GETFONTSMOOTHINGTYPE
(0x200A)

1. 获取字体平滑的类型。pvParam 参数必须指向 UINT 类型变量接收信息。可能接收的值是 FE_FONTSMOOTHINGSTANDARD 和 FE_FONTSMOOTHINGCLEARTYPE

2. Windows 2000:不支持该参数

SPI_GETWORKAREA
(0x0030)

1. 获取主显示器的工作区大小。工作区是指屏幕上不被系统任务条或应用程序桌面工具遮盖的部分。参数 pvParam 必须指向 RECT 结构以接收工作区的坐标信息,坐标是用虚拟屏幕坐标来表示的

2. 为了获取非主显示器的工作区信息,请调用 GetMonitorlnfo 函数

SPI_SETCLEARTYPE
(0x1049)

1. 设置是否开启 ClearType。pvParam 参数必须指向一个 BOOL 变量设置该值。TRUE 为启用,否则 FALSE

2. ClearType 是一种软件技术,改善液晶显示器(LCD)下文本的可读性

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETCURSORS
(0x0057)

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

SPI_SETDESKPATTERN
(0x0015)

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

SPI_SETDESKWALLPAPER
(0x0014)

注意:当 SPI_SETDESKWALLPAPER 标记被使用,除非发生错误(比如指定的文件不存在),否则 SystemParametersInfo 函数返回 TRUE

SPI_SETDROPSHADOW
(0x1025)

1. 设置启用或禁用阴影的效果。设置 pvParam 参数为 TRUE 启用阴影效应,FALSE 禁用。您还必须在窗口类样式中有 CS_DROPSHADOW

2. Windows 2000:不支持该参数

SPI_SETFLATMENU
(0x1023)

1. 设置启用或禁用本地用户是否有扁平化菜单外观。pvParam 设置为 TRUE,允许扁平菜单的外观,FALSE 禁用它

2. 当启用时,菜单栏菜单条背景使用 COLOR_MENUBAR,COLOR_MENU 为弹出菜单的背景,COLOR_MENUHILIGHT 填补当前选择的菜单,COLOR_HILIGHT 当前选择的菜单轮廓。如果禁用,菜单使用 Windows 2000 标准和颜色绘制

3. Windows 2000:不支持该参数

SPI_SETFONTSMOOTHING
(0x004B)

1. 设置允许或禁止有字体平滑特性。该特性使用字体保真技术,通过在不同灰度级上涂画像素点来使得字体曲线显得更加平滑

2. 为了允许有该特性,参数 uiParam 应设为 TRUE 值,不允许则为 FALSE

SPI_SETFONTSMOOTHINGCONTRAST
(0x200D)

1. 设置用于 ClearType 平滑对比度。pvParam 参数为对比值。有效的对比度从 1000 到 2200 。默认值是 1400

2. SPI_SETFONTSMOOTHINGTYPE 也必须设置为 FE_FONTSMOOTHINGCLEARTYPE

3. Windows 2000:不支持该参数

SPI_SETFONTSMOOTHINGORIENTATION
(0x2013)

1. 设置字体平滑方向。pvParam 参数设置为 FE_FONTSMOOTHINGORIENTATIONBGR(blue-green-red) 或 FE_FONTSMOOTHINGORIENTATIONRGB(blue-green-red)

2. Windows XP/2000:Windows XP SP2 之前的 Window 版本不支持该参数

SPI_SETFONTSMOOTHINGTYPE
(0x200B)

1. 设置字体平滑的类型。如果在反锯齿标准中使用清晰字体,那么 pvParam 参数为 FE_FONTSMOOTHINGSTANDARD 或 FE_FONTSMOOTHINGCLEARTYPE。默认是 FE_FONTSMOOTHINGSTANDARD

2. SPI_SETFONTSMOOTHING 也必须设置

3. Windows 2000:不支持该参数

SPI_SETWORKAREA
(0x002F)

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


5. 下面是图标参数:
 

图标参数

含义

SPI_GETICONMETRICS
(0x002D)

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

SPI_GETICONTITLELOGFONT
(0x001F)

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

SPI_GETICONTITLEWRAP
(0x0019)

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

SPI_ICONHORIZONTALSPACING
(0x000D)

1. 设置或获取一个图标宽度,以像素为单位。在大图标视图系统使用这个矩形放置图标

2. 设置 uiParam 为新值和 pvParam 为 NULL 以设置该值。你不能设置该值小于 SM_CXICON

3. pvParam 必须指向一个整数以获取当前值

SPI_ICONVERTICALSPACING
(0x0018)

1. 设置图标单元的高度

2. 设置 uiParam 参数为新的高度值,pvParam 为 NULL 以设置该值。你不能设置该值小于 SM_CYICON

3. pvParam 必须指向整型值以接收当前值

SPI_SETICONMETRICS
(0x002E)

设置与图标有关的标准。参数 pvParam 必须指向包含新参数的ICONMETRICS 结构。将参数 uiParam 和该结构中的 cbSize 成员的值设置为 sizeof(ICONMETRICS)

SPI_SETICONS
(0x0058)

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

SPI_SETICONTITLELOGFONT
(0x0022)

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

SPI_SETICONTITLEWRAP
(0x001A)

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


6. 下面是输入参数(它们包括相关的键盘、鼠标、笔、输入语言,蜂鸣警告):
 

输入参数

含义

SPI_GETBEEP
(0x0001)

1. 获取警告蜂鸣器是否是打开的

2. pvParam 参数必须指向一个 BOOL 类型变量,如果蜂鸣器处于打开状态,那么该变量的值为 TRUE,否则为 FALSE

SPI_GETBLOCKSENDINPUTRESETS
(0x1026)

获取是否可以通过调用 SendInput 函数来模拟键盘或鼠标输入重新设置屏幕保护程序定时器的 BOOL 类型值。pvParam 参数必须指向一个 BOOL 变量接收该值。模拟输入会被阻挡为 TRUE,否则 FALSE

SPI_GETCONTACTVISUALIZATION
(0x2018)

获取当前可视化接触设置。pvParam 参数必须指向一个 ULONG 变量接收设置。有关更多信息,请参见 Contact Visualization

SPI_GETDEFAULTINPUTLANG
(0x0059)

获取系统默认输入语言区域标识。pvParam 参数必须指向一个 HKL 变量,以接收该值。更多相关信息,查阅Languages,Locales 和 Keyboard Layouts

SPI_GETGESTUREVISUALIZATION
(0x201A)

获取当前可视化姿态设置。pvParam 参数必须指向一个 ULONG 变量接收设置。有关更多信息,请参见 Gesture Visualization

SPI_GETKEYBOARDCUES
(0x100A)

获取菜单快捷键是否加下划线。pvParam 参数必须指向一个 BOOL 变量接收该值。TRUE 表示菜单快捷键一直加下划线 ,FALSE 表示当菜单被键盘激活时才加下划线

SPI_GETKEYBOARDDELAY
(0x0016)

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

SPI_GETKEYBOARDPREF
(0x0044)

获取用户是否依赖键盘而非鼠标,是否要求应用程序显示键盘接口,以免隐藏。pvParam 参数必须指向一个 BOOL 类型变量,如果用户依赖键盘,那么该变量接收值为 TRUE ,否则为 FALSE。

SPI_GETKEYBOARDSPEED
(0x000A)

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

SPI_GETMOUSE
(0x0003)

获取鼠标的 2 个阈值和加速特性。pvParam 参数必须指向一个长度为 3 的整型数组,分别存储此值。更多信息,查阅mouse_event 函数

SPI_GETMOUSEHOVERHEIGHT
(0x0064)

获得在 TrackMouseEvent 事件中,为产生WM_MOUSEHOVER 消息而鼠标指针必须停留的矩形框的高度,以像素为单位。pvParam 参数必须指向一个 UINT 变量以接收这个高度值

SPI_GETMOUSEHOVERTIME
(0x0066)

获得在 TrackMouseEvent 事件中,为产生WM_MOUSEHOVER 消息而鼠标指针必须停留在矩形框内的时间,单位为毫秒。参数 pvParam 必须指向一个 UINT 变量以接收该时间值

SPI_GETMOUSEHOVERWIDTH
(0x0062)

获得在 TrackMouseEvent 事件中,为产生WM_MOUSEHOVER 消息而鼠标指针必须停留的矩形框的宽度,像素为单位。参数 pvParam 必须指向一个 UINT 变量以接收这个宽度值

SPI_GETMOUSESPEED
(0x0070)

获取当前鼠标速度。鼠标速度决定了鼠标移动多少距离,鼠标的指针将移动多远。参数 pvParam 指向一个整型变量,该变量接收 1(最慢)至 20(最快)之间的数值。默认值为 10。这个值可以由最终用户使用鼠标控制面板应用程序或使用调用了 SPI_SETMOUSESPEED 的应用程序来设置

SPI_GETMOUSETRAILS
(0x005E)

1. 它用来表示是否允许 Mouse Trails(鼠标轨迹)特性。该特征通过简单地显示鼠标轨迹并迅速擦除它们来改善鼠标的可见性

2. pvParam 参数必须指向一个整型变量来接收该值。如果这个值为 0 或 1 ,那么表示禁止该特征。如果该值大于 1,则说明该特征被允许,并且该值表示在鼠标轨迹上画出的光标数目。不使用 uiParam 参数

3. Windows 200:不支持该参数

SPI_GETMOUSEWHEELROUTING
(0x201C)

1. 获取按钮轮输入的路径设置。路由设置决定按钮轮输入发送到前景聚焦的应用程序还是鼠标光标下的应用

2. pvParam 参数必须指向一个 DWORD 变量接收路由设置。如果该值为 0 或者 MOUSEWHEEL_ROUTING_FOCUS ,鼠标滚轮输入的信息发送聚焦的应用程序。如果该值为 1 或 MOUSEWHEEL_ROUTING_HYBRID (默认值),鼠标滚轮输入的信息发送到聚焦的桌面应用程序或鼠标光标下的 Window 商城应用程序。uiParam 参数不使用

SPI_GETPENVISUALIZATION
(0x201E)

1. 获取当前笔手势可视化设置

2. pvParam 参数必须指向一个 ULONG 类型变量接收设置。有关更多信息,请参见 Pen Visualization

SPI_GETSNAPTODEFBUTTON
(0x005F)

1. 获取 snap-to-default-button(转至默认按钮)特征是否允许。如果允许,那么鼠标自动移至默认按钮上,例如对话框的 "Ok" 或 "Apply" 按钮

2. pvParam 参数必须指向 BOOL 类型变量,如果该特征被允许,则该变量接收到 TRUE,否则为 FALSE

SPI_GETSYSTEMLANGUAGEBAR
(0x1050)

1. 获取是否启用或禁用系统语言栏(Window 8 之后版本提供支持)

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用了语言栏,则接收值为 TRUE,否则为 FALSE

SPI_GETTHREADLOCALINPUTSETTINGS
(0x104E)

1. 获取活动的输入设置是局部(per-thread,TRUE)范围还是全局(session,FALSE)范围(Window 8 之后版本提供支持)

2. pvParam 参数必须指向一个 BOOL 变量

SPI_GETWHEELSCROLLCHARS
(0x006C)

1. 获取当水平移动鼠标滚轮滑动时的字符数

2. 参数 pvParam 必须指向使用 UINT 类型变量接收字符数。默认值为 3

SPI_GETWHEELSCROLLLINES
(0x0068)

1. 获取当竖直鼠标滚轮转动时滚动的行数

2. 参数 pvParam 必须指向 UINT 类型变量以接收行数。默认值是 3

SPI_SETBEEP
(0x0002)

1. 设置警蜂器打开或关闭

2. 参数 uiParam 指定为 TRUE 时表示打开,为 FALSE 时表示关闭

SPI_SETBLOCKSENDINPUTRESETS
(0x1027)

1. 设置是否可以通过调用 SendInput 函数来模拟键盘或鼠标输入重新设置屏幕保护程序定时器

2. 如果模拟输入不会使屏幕保护程序将失效,uiParam 参数指定 TRUE;如果模拟输入使屏幕保护程序将失效,uiParam 参数指定 FALSE

SPI_SETCONTACTVISUALIZATION
(0x2019)

1. 设置当前接触可视化设置。pvParam 参数必须指向一个 ULONG 变量设置该特性。有关更多信息,请参见 Contact Visualization

2. 注意:如果禁用接触可视化,手势可视化将无法启用

SPI_SETDEFAULTINPUTLANG
(0x005A)

1. 为系统 Shell(命令行解器)和应用程序设置默认的输入语言。指定的语言必须是可使用当前系统字符集来显示的

2. pvParam 参数必须指向 HKL 变量,该变量包含用于默认语言的输入区域标识

SPI_SETDOUBLECLICKTIME
(0x0020)

1. 设 uiParam 参数的值为鼠标双击时间。如果 uiParam 参数值大于 5000 毫秒,系统取 5000 毫秒为鼠标双击值

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

SPI_SETDOUBLECLKHEIGHT
(0x001E)

1. 将 uiParam 参数的值设为双击矩形区域的高度

2. 双击矩形区域是指双击中的第2次点击时鼠标指针必须落在的区域,这样才能记录为双击

3. 使用 SM_CYDOUBLECLK 标识调用 GetSystemMetrics 函数获取双击矩形区域的高度

SPI_SETDOUBLECLKWIDTH
(0x001D)

1. 将 uiParam 参数的值设为双击矩形区域的宽度

2. 双击矩形区域是指双击中的第2次点击时鼠标指针必须落在的区域,这样才能记录为双击

3. 使用 SM_CXDOUBLECLK 标识调用 GetSystemMetrics 函数获取双击矩形区域的宽度

SPI_SETGESTUREVISUALIZATION
(0x201B)

1. 设置当前手势可视化设置。pvParam 参数必须指向一个 ULONG 变量设置该特性。有关更多信息,请参见 Gesture Visualization

2. 注意:如果禁用接触可视化,手势可视化将无法启用

SPI_SETKEYBOARDCUES
(0x100B)

1. 设置菜单快捷键是否有下划线

2. pvParam 参数是一个 BOOL 变量:pvParam 设置为 TRUE 菜单快捷键一直加下划线,设置 FALSE 只有当菜单被激活快捷键才加下划线

SPI_SETKEYBOARDDELAY
(0x0017)

1. 设置键盘重复延迟

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

SPI_SETKEYBOARDPREF
(0x0045)

1. 设置键盘优先序

2. 如果用户依赖键盘而不是鼠标,那么可将参数 uiParam 指定为 TRUE,并且要求应用程序显示而不隐蔽键盘接口;否则 uiParam 设为 FALSE

SPI_SETKEYBOARDSPEED
(0x000B)

1. 设置键盘重击键速度

2. 参数 uiParam 必须指定一个从 0 (大约 2.5 次/秒)到 31 (大约 30 次/秒)的值,实际的重速率与硬件有关,而且可能变动幅度高达 20%。如果 uiParam 大于 31,那么该参数取值 31

SPI_SETLANGTOGGLE
(0x005B)

1. 为输入语言间切换设置热键集

2. 参数 uiParam 和 pvParam 不使用

3. 该值通过读取注册表来设置键盘属性表单中的快捷键。在使用该标志之前必须设置注册表,注册表中的路径 HKEY_CURRENT_USER\Keyboard Layout\Toggle,有效值是 "1" = ALT+SHIFT,"2" = CTRL+SHIFT,"3" = none(无)

SPI_SETMOUSE
(0x0004)

1. 设置鼠标的两个阀值和加速率

2. 参数 pvParam 必须指向一个长度为 3 的数组,以指定这些值

3. 详细请参考 mouse_event

SPI_SETMOUSEBUTTONSWAP
(0x0021)

1. 设置调换或恢复鼠标左右按钮的含义,uiParam 指定为 TRUE 时表示交换鼠标按钮的含义,为 FALSE 时表示恢复原来的含义

2. 使用 SM_SWAPBUTTON 标记参数值调用GetSystemMetrics 函数获取当前的设置

SPI_SETMOUSEHOVERHEIGHT
(0x0065)

设置鼠标指针停留区域的高度,以像素为单位。鼠标指针在此区域停留是为了让 TrackMouseEvent 产生一条WM_MOUSEHOVER 消息,参数 uiParam 用来设置此高度值

SPI_SETMOUSEHOVERTIME
(0x0067)

1. 设置鼠标指针为了让 TrackMouseEvent 产生WM_MOUSEHOVER 消息而在停留区域应停留的时间。该标志只有在将调用 dwHoverTime 参数中的 HOVER_DEFAULT 值传送到 TrackMouseEvent 时才使用。参数 uiParam 设置这个新的时间值

2. 该时间值应该在 USER_TIMER_MINIMUM 和 USER_TIMER_MAXIMUM 之间。如果小于 USER_TIMER_MINIMUM,则取 USER_TIMER_MINIMUM,反正则取 USER_TIMER_MAXIMUM

3. Windows Server 2003 和  Windows XP:Windows Server 2003 SP1 和 Windows XP SP2 之前的操作系统不会强制取 USER_TIMER_MINIMUM 和 USER_TIMER_MAXIMUM 值

SPI_SETMOUSEHOVERWIDTH
(0x0063)

1. 设置鼠标指针在 TrackMouseEvent 产生WM_MOUSEHOVER 消息时停留区域的宽度,以像素为单位

2. 参数 uiParam 设置该新值

SPI_SETMOUSESPEED
(0x0071)

1. 设置当前鼠标速度

2. 参数 pvParam 必须指向一个 1(最慢)至 20(最快)之间的整数,默认值是 10

3. 一般可以使用鼠标控制面板应用程序来设置该值

SPI_SETMOUSETRAILS
(0x005D)

1. 允许或禁止有 MoouseTrails(鼠标轨迹)特性。该特性通过简短地显示鼠标光标轨迹,并迅速地擦除它们来提高鼠标的可见度

2. 禁止该特性可将参数 uiParam 设为 0 或 1,允许时,将 uiParam 设置为一个大于 1 的数值,该值表示轨迹中画出的光标个数

3. Windows 2000:不支持该参数

SPI_SETMOUSEWHEELROUTING
(0x201D)

1. 设置按钮轮输入的路径设置。路径设置决定按钮轮输入发送到前景聚焦的应用程序还是鼠标光标下的应用

2. pvParam 参数必须指向一个 DWORD 变量接收路径设置。如果该值为 0 或者 MOUSEWHEEL_ROUTING_FOCUS ,鼠标滚轮输入的信息发送聚焦的应用程序。如果该值为 1 或 MOUSEWHEEL_ROUTING_HYBRID(默认值),鼠标滚轮输入的信息发送到聚焦的桌面应用程序或鼠标光标下的 Window 商城应用程序。设置 uiParam 参数为 0

SPI_SETPENVISUALIZATION
(0x201F)

1. 设置当前手势笔可视化设置

2. pvParam 参数必须指向一个 ULONG 变量设置该特性。有关更多信息,请参见 Pen Visualization

SPI_SETSNAPTODEFBUTTON
(0x0060)

1. 设置开启或禁止有 snap-to-default-button(跳转至缺省按钮)特性。如果允许,那么鼠标光标会自动移至缺省按钮上,例如对话框中的 "OK" 或 "Apply" 按钮

2. 参数uiParam设为 TRUE 表示允许该特性,FALSE 表示禁止。当显示一个对话框时,应用程序应该使用ShowWindow 函数,所以对话框管理器可以定位鼠标光标位置

SPI_SETSYSTEMLANGUAGEBAR
(0x1051)

1. 设置传统语言栏功能打开或关闭(Windows 8 之后版本开始提供支持)

2. pvParam 参数是一个指针指向一个 BOOL 变量:pvParam 设置为 TRUE,使用传统语言栏,FALSE 禁用

3. Windows 8 支持该特性,传统语言栏被输入切换器替代,因此默认关闭。可以兼容打开传统语言栏,与此同时对输入切换器没有影响

SPI_SETTHREADLOCALINPUTSETTINGS
(0x104F)

1. 设置活动的输入设置是局部(per-thread,TRUE)范围还是全局(session,FALSE)范围(Window 8 之后版本提供支持)

2. pvParam 参数必须指向一个 BOOL 变量,使用 PVOID 转化

SPI_SETWHEELSCROLLCHARS
(0x006D)

1. 设置当鼠标水平滚轮移动时字符数

2. 参数 uiParam 设置字符数

SPI_SETWHEELSCROLLLINES
(0x0069)

1. 设置当竖直鼠标滚轮转动时要滚动的行数,滚动的行数是由参数 uiParam 设置

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


7. 下面是菜单参数:
 

菜单参数

含义

SPI_GETMENUDROPALIGNMENT
(0x001B)

1. 获取弹出式菜单相对于相应的菜单项是左对齐,还是右对齐

2. 参数 pvParam 必须指向一个 BOOL 类型变量以接收该值,如果是左对齐接收值为 TRUE,否则为 FALSE

SPI_GETMENUFADE
(0x1012)

1. 获取是否启用菜单淡入淡出动画

2. pvParam 参数必须指向一个 BOOL 变量接收该值:TRUE 启用淡入淡出动画,FALSE 禁用

3. 如果淡入淡出动画是禁用的,菜单使用滑动动画。除非启用菜单动画,不然该标志将被忽略,您可以使用 SPI_SETMENUANIMATION 标志设置该特性

4. 有关更多信息,请参见 AnimateWindow

SPI_GETMENUSHOWDELAY
(0x006A)

1. 获取当鼠标移到子菜单项时快捷菜单显示的系统等待时间,以毫秒为单位

2. pvParam 参数必须指向一个 DWORD 变量接收延迟时间

SPI_SETMENUDROPALIGNMENT
(0x001C)

1. 设置弹出式菜单的对齐方式

2. 参数 uiParam 指定为 TRUE 时表示是右对齐,FALSE 时为左对齐

SPI_SETMENUFADE
(0x1013)

1. 设置是否启用菜单淡入淡出动画

2. pvParam 参数设置 TRUE 启用淡入淡出动画,FALSE 禁用

3. 如果淡入淡出动画是禁用的,菜单使用滑动动画

4. 只有系统的颜色深度超过 256 种颜色,菜单淡入淡出效果才支持

5. 除非 SPI_MENUANIMATION 标志也被设置,不然该标志将被忽略

6. 有关更多信息,请参见 AnimateWindow

SPI_SETMENUSHOWDELAY
(0x006B)

1. 设置当鼠标移到子菜单项时快捷菜单显示的系统等待时间,以毫秒为单位

2. pvParam 参数设置该时间值


8. 下面是电源参数:

从 Windows Server 2008 和 Windows Vista 版本开始,这些电源参数将不再提供支持。取而代之,为了当前显示电源状态,应用程序应该注册 GUID_MONITOR_POWER_STATE 通知。应用程序应该注册更改 GUID_VIDEO_POWERDOWN_TIMEOUT 电源设置通知以决定当前关机超时的显示。更多信息,请参见Registering for Power Events

Windows Server 2003 和 Windows XP/2000:使用下列参数确定当前电源状态的显示:
 

电源参数

含义

SPI_GETLOWPOWERACTIVE
(0x0053)

1. 不支持该参数

2. Windows Server 2003 和 Windows XP/2000:确定是否允许屏幕保护的低电压状态。如果允许,那么指向 BOOL 变量的 pvParam 参数会接收到 TRUE 值,否则为 FALSE。该标志仅支持 32 位应用程序

SPI_GETLOWPOWERTIMEOUT
(0x004F)

1. 不支持该参数

2. Windows Server 2003 和 Windows XP/2000:检索用于屏幕保护的低电压状态超时值。pvParam 参数必须指向一个整型变量,以接收该值。该标志仅支持 32 位应用程序

SPI_GETPOWEROFFACTIVE
(0x0054)

1. 不支持该参数,当启用屏保关电模式,电源设置 GUID_VIDEO_POWERDOWN_TIMEOUT 大于 0

2. Windows Server 2003 和 Windows XP/2000:获取屏保关电模式是否启用。pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用值为 TRUE,禁用 FALSE。该标志只支持的 32 位应用程序

SPI_GETPOWEROFFTIMEOUT
(0x0050)

1. 不支持该参数,取而代之的是检查 GUID_VIDEO_POWERDOWN_TIMEOUT 电源设置

2. Windows Server 2003 和 Windows XP/2000:获取用于关闭屏幕保护所需的时间值(也称超时值)。pvParam 参数必须指向一个整型变量接收该值。该标志只支持的 32 位应用程序

SPI_SETLOWPOWERACTIVE
(0x0055)

1. 不支持该参数

2. Windows Server 2003 和 Windows XP/2000:激活或关闭低电压屏幕保护特性。参数 uiParam 设为 1 表示激活,0 表示关闭。参数 pvParam 必须设为 NULL。该标志只支持 32 位应用程序

SPI_SETLOWPOWERTIMEOUT
(0x0051)

1. 不支持该参数

2. Windows Server 2003 和 Windows XP/2000:用于设置低电压屏幕保护中的时间值(也称超时值,即在超过某一时间段后自动进行屏幕保护),单位为秒。uiParam 参数用来指定这个新值。参数 pvParam 必须为 NULL。该标志只支持 32 位应用程序

SPI_SETPOWEROFFACTIVE
(0x0056)

1. 不支持该参数,取而代之是电源设置 GUID_VIDEO_POWERDOWN_TIMEOUT

2. Windows Server 2003 和 Windows XP/2000:激活或关闭屏幕保护特性参数。uiParam 设为 1 表示激活,0 表示关闭。参数 pvParam 必须为 NULL。该标志只支持的 32 位应用程序

SPI_SETPOWEROFFTIMEOUT
(0x0052)

1. 不支持该参数,取而代之是电源设置超时值为 GUID_VIDEO_POWERDOWN_TIMEOUT

2. Windows Server 2003 和 Windows XP/2000:设置用于关闭屏幕保护所需的时间值(也称超时值)。参数 uiParam 指定该值。参数 pvParam 必须为 NULL。该标志只支持的 32 位应用程序


9. 下面是屏保参数:
 

屏保参数

含义

SPI_GETSCREENSAVEACTIVE
(0x0010)

1. 获取是否启用屏保

2. pvParam 参数必须指向一个 BOOL 变量接收该值:TRUE 启用屏保,否则 FALSE

3. Windows 7,Windows Server 2008 R2,和 Windows 2000:即使屏保被禁用也返回 TRUE。更多信息和方案,参见 KB318781

SPI_GETSCREENSAVERRUNNING
(0x0072)

1. 获取屏幕保护程序是否运行在调用进程的窗口站

2. pvParam 参数必须指向一个 BOOL 变量接收该值:如果一个屏幕保护程序正在运行返回 TRUE,否则将返回 FALSE

3. 注意:WinSta0 中只有在互动窗口站可以有一个屏幕保护程序运行

SPI_GETSCREENSAVESECURE
(0x0076)

1. 获取屏幕保护程序解锁显示 Windows 桌面是否需要一个密码

2. pvParam 参数必须指向一个 BOOL 变量接收该值:如果屏幕保护程序解释桌面需要密码则为 TRUE,否则为 FALSE。uiParam 参数被忽略

3. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETSCREENSAVETIMEOUT
(0x000E)

1. 获取屏幕保护程序超时值,单位为秒

2. pvParam 参数必须指向一个整数变量接收该值

SPI_SETSCREENSAVEACTIVE
(0x0011)

1. 设置屏幕保护程序的状态

2. uiParam 参数指定 TRUE 激活屏保,FALSE 关闭

3. 如果机器已进入节电模式或系统锁定状态,将会发生 ERROR_OPERATION_IN_PROGRESS 异常

SPI_SETSCREENSAVESECURE
(0x0077)

1. 设置屏幕保护程序解锁显示 Windows 桌面是否需要一个密码

2. uiParam 参数是一个 BOOL 变量:如果屏幕保护程序解释桌面需要密码则设置 uiParam 为 TRUE,否则为 FALSE。pvParam 参数被忽略

3. 如果机器已进入节电模式或系统锁定状态,将会发生 ERROR_OPERATION_IN_PROGRESS 异常

4. Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETSCREENSAVETIMEOUT
(0x000F)

1. 设置屏幕保护程序超时时间,以秒为单位

2. uiParam 参数指定该时间值。屏幕保护程序激活之前系统必须处于空闲状态

3. 如果机器已进入节电模式或系统锁定状态,将会发生 ERROR_OPERATION_IN_PROGRESS 异常


10. 下面是程序和服务超时参数:
 

超时参数

含义

SPI_GETHUNGAPPTIMEOUT
(0x0078)

1. 获取系统认为线程没有转发一个消息无响应的时间,单位毫秒

2. pvParam 参数必须指向一个整数变量接收该值

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETWAITTOKILLTIMEOUT
(0x007A)

1. 获取当终止不响应请求的应用程序的,系统的等待时间,单位毫秒

2. pvParam 参数必须指向一个整数变量接收该值

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETWAITTOKILLSERVICETIMEOUT
(0x007C)

1. 获取当终止不响应请求的服务时,服务控制管理器的等待时间,单位毫秒

2. pvParam 参数必须指向一个整数变量接收该值

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETHUNGAPPTIMEOUT
(0x0079)

1. 设置系统认为线程没有转发一个消息无响应的时间,单位毫秒

2. uiParam 参数设置(挂载程序)超时值

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETWAITTOKILLTIMEOUT
(0x007B)

1. 设置当终止不响应请求的应用程序的,系统的等待时间,单位毫秒

2. uiParam 参数设置该值

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETWAITTOKILLSERVICETIMEOUT
(0x007D)

1. 设置当终止不响应请求的服务时,服务控制管理器的等待时间,单位毫秒

2. uiParam 参数设置该值

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数


11. 下面是 UI 效果参数

标志 SPI_SETUIEFFECTS 值是用来启用或禁用所有 UI 效果。下表包含的完整的 UI 效果值列表:
 

UI 效果参数

含义

SPI_GETCOMBOBOXANIMATION
(0x1004)

1. 获取是否允许组合框的动画打开效果

2. pvParam 参数必须指向一个 BOOL 变量,如果允许,那么变量返回值为 TRUE,否则为 FALSE

SPI_GETCURSORSHADOW
(0x101A)

1. 获取光标周围是否有阴影

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用阴影效果,则接收值为 TRUE ,FALSE 禁用。只有在系统的颜色深度超过 256 种颜色才提供支持

SPI_GETGRADIENTCAPTIONS
(0x1008)

1. 获取是否允许有用于窗口标题栏的倾斜效果

2. 参数 pvParam 必须指向 BOOL 变量,其值在允许时为 TRUE,禁止时为 FALSE。更多关于倾斜效果信息,查阅GetSysColor 函数

SPI_GETHOTTRACKING
(0x100E)

1. 获取是否用户界面元素热跟踪开启,比如菜单栏上的菜单名

2. pvParam 参数必须指向一个 BOOL 变量接收该值。启用 TRUE ,禁用 FALSE

3. 热跟踪是当光标在一个项,它是高亮的但不被选中。您可以查询这个值决定应用程序的用户界面是否使用热跟踪

SPI_GETLISTBOXSMOOTHSCROLLING
(0x1006)

1. 获取是否允许有列表框的平滑滚动效果

2. pvParam 参数必须指向 BOOL 变量,如果允许接收值为 TRUE,否则为 FALSE

SPI_GETMENUANIMATION
(0x1002)

1. 获取是否启用菜单动画特性。在启用菜单动画效果时,动画效果总开关必须打开。

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用动画则值为 TRUE,禁用为 FALSE

3. 如果启用了动画,SPI_GETMENUFADE 表示菜单是否使用淡入淡出或滑动动画

SPI_GETMENUUNDERLINES
(0x100A)

和 SPI_GETKEYBOARDCUES 值一样

SPI_GETSELECTIONFADE
(0x1014)

1. 获取是否启用选中淡入淡出效果

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用为 TRUE,禁用 FALSE

3. 选中淡入淡出效果导致菜单销毁了,用户选择的菜单项仍然在屏幕上淡出

SPI_GETTOOLTIPANIMATION
(0x1016)

1. 获取是否启用工具提示动画

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用为 TRUE,禁用 FALSE。

3. 如果启用了工具提示动画,SPI_GETTOOLTIPFADE 表示工具提示使用淡入淡出动画或还是滑动动画

SPI_GETTOOLTIPFADE
(0x1018)

1. 如果 SPI_SETTOOLTIPANIMATION 是启用,SPI_GETTOOLTIPFADE 表示工具提示动画使用淡入淡出效果或滑动效果

2. pvParam 参数必须指向一个 BOOL 变量接收该值。淡入淡出动画为 TRUE,滑动动画为 FALSE

3. 更多关于滑动和淡入淡出效果信息,参见AnimateWindow 函数

SPI_GETUIEFFECTS
(0x103E)

1. 获取是否启用 UI 特效

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用了所有 UI 效果则为 TRUE,禁用 FALSE

SPI_SETCOMBOBOXANIMATION
(0x1005)

1. 设置允许或禁止组合滑动打开效果

2. 如果设置 pvParam 参数为 TRUE,则表示允许有倾斜效果,如果设为 FALSE 则表示禁止

SPI_SETCURSORSHADOW
(0x101B)

1. 设置光标周围是否有阴影

2. pvParam 参数是一个 BOOL 变量值。如果启用阴影效果,则设置值为 TRUE,FALSE 禁用。只有在系统的颜色深度超过 256 种颜色才提供支持

SPI_SETGRADIENTCAPTIONS
(0x1009)

1. 设置允许或禁止窗口标题栏有倾斜效果

2. 如果允许则将参数 pvParam 设置为 TRUE,否则设为 FALSE。只有系统的颜色深度超过 256 种,倾斜效果才可能实现

3. 有关倾斜效果方面更多信息,请参考 GetSysColor 函数

SPI_SETHOTTRACKING
(0x100F)

1. 设置是否开启用户界面元素热跟踪,比如菜单栏上的菜单名

2. pvParam 参数是一个 BOOL 变量,启用设置 TRUE ,禁用设置 FALSE

3. 热跟踪是当光标在一个项,它是的高亮但不被选中

SPI_SETLISTBOXSMOOTHSCROLLING
(0x1007)

1. 设置允许或不许列表栏有平滑滚动效果

2. 参数 pvParam 设置为 TRUE 表示允许有平滑滚动效果,FALSE 则表示禁止

SPI_SETMENUANIMATION
(0x1003)

1. 设置启用或禁用菜单动画。在任何菜单动画开启时,动画总开关必须打开

2. pvParam 参数是一个 BOOL 变量,启用设置 TRUE ,禁用设置 FALSE

3. 如果启用了动画,SPI_GETMENUFADE 表示菜单使用淡入淡出动画还是滑动动画

SPI_SETMENUUNDERLINES
(0x100B)

和 SPI_SETKEYBOARDCUES 值相同

SPI_SETSELECTIONFADE
(0x1015)

1. 设置 pvParam 参数为 TRUE 启动选中淡入淡出特效,FALSE 禁用

2. 选中淡入淡出效果将导致菜单关闭后,用户选择的菜单项仍然在屏幕上简单停留

3. 只有系统的颜色深度超过 256 种,选中淡入淡出效果效果才可能实现

SPI_SETTOOLTIPANIMATION
(0x1017)

1. 设置 pvParam 参数为 TRUE 启用工具提示动画 ,禁用 FALSE

2. 如果启用,您可以使用 SPI_SETTOOLTIPFADE 指定淡入淡出动画或滑动动画

SPI_SETTOOLTIPFADE
(0x1019)

1. 如果 SPI_SETTOOLTIPANIMATION 标志设置启用,使用 SPI_SETTOOLTIPFADE 表示是否提示动画使用淡入淡出效果或滑动效果

2. 设置 pvParam 为 TRUE 表示选择淡入淡出动画,为 FALSE 表示滑动动画

3. 只有系统的颜色深度超过 256 种,工具提示淡入淡出特效才可能实现。关于滑动特效和淡入淡出特效更多信息,参见AnimateWindow 函数

SPI_SETUIEFFECTS
(0x103F)

1. 设置启用或禁用用户界面特效

2. pvParam 参数设置为 TRUE ,启用所有 UI 特效,FALSE 禁用


12. 下面是窗口参数
 

窗口参数

含义

SPI_GETACTIVEWINDOWTRACKING
(0x1000)

1. 获取是否打开活动窗口跟踪(激活该窗口时鼠标置为开状态)

2. pvParam 参数必须指向一个 BOOL 型变量,打开时接收值为 TRUE,关闭时为 FALSE

SPI_GETACTIVEWNDTRKZORDER
(0x100C)

1. 获取通过活动窗口跟踪开关激活的窗口是否要置于最顶层

2. pvParam 参数必须指向一个 BOOL 型变量,如果要置于顶层,接收值为 TRUE,否则为 FALSE

SPI_GETACTIVEWNDTRKTIMEOUT
(0x2002)

1. 获取指示活动窗口跟踪延迟量,单位为毫秒

2. pvParam 参数必须指向 DWORD 类型变量,以接收时间量

SPI_GETANIMATION
(0x0048)

1. 获取与用户活动有关的动画效果

2. pvParam 参数必须指向 ANIMATIONINFO 结构以接收信息。并将该结构的 cbSize 成员和 uiParam 参数置为 sizeof(ANIMATIONINFO)

SPI_GETBORDER
(0x0005)

1. 获取决定窗口边界放大宽度的边界放大因子

2. pvParam 参数必须指向一个整型变量以接收该值

SPI_GETCARETWIDTH
(0x2006)

1. 获取在编辑控件中插入符号宽度,单位像素

2. pvParam 参数必须指向一个 DWORD 变量接收该值

SPI_GETDOCKMOVING
(0x0090)

1. 获取当窗口移到显示器或显示器组的上面,左边或右边缘是否在 Dock 快捷栏

2. pvParam 参数必须指向一个 BOOL 变量接收该值。启用 TRUE,否则 FALSE

3. 使用 SPI_GETWINARRANGING 确定是否启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETDRAGFROMMAXIMIZE
(0x008C)

1. 获取当最大化窗口时,拖动其标题栏窗口是否恢复

2. pvParam 参数必须指向一个 BOOL 变量接收该值。允许 TRUE,否则 FALSE

3. 使用 SPI_GETWINARRANGING 确定是否启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETDRAGFULLWINDOWS
(0x0026)

1. 获取是否允许拖拉到最大窗口

2. pvParam 参数必须指向 BOOL 变量,如果允许,接收值为 TRUE,否则为 FALSE

SPI_GETFOREGROUNDFLASHCOUNT
(0x2004)

1. 获取在调用 SetForegroundWindow 函数且拒绝前台切换申请时系统闪烁任务条按钮的次数

2. 参数 pvParam 必须指向 DWORD 变量,以接收该值

SPI_GETFOREGROUNDLOCKTIMEOUT
(0x2000)

1. 获取在系统禁止应用程序强行将自己进入前台期间的时间量,单位为毫秒

2. 参数 pvParam 必须指向 DWORD 变量以接收时间值

SPI_GETMINIMIZEDMETRICS
(0x002B)

1. 获取最小化窗口有关的度量数据信息

2. 参数 pvParam 必须指向 MINIMIZEDMETRICS 结构,以接收信息。该结构中的 cbSize 和 uiParam 参数的值设为 sizeof(MINIMIZEDMETRICS)

SPI_GETMOUSEDOCKTHRESHOLD
(0x007E)

1. 获取鼠标拖动窗口到显示器或显示器组的边缘加入 Dock 快捷栏的阈值,单位像素。默认阈值是 1

2. pvParam 参数必须指向一个 DWORD 变量接收该值

3. 使用 SPI_GETWINARRANGING 确定是否启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETMOUSEDRAGOUTTHRESHOLD
(0x0084)

1. 获取鼠标拖动窗口从显示器或显示器组的边缘向中心移动解除 Dock 快捷栏的阈值,单位像素。默认阈值是 20

2. 使用 SPI_GETWINARRANGING 确定是否启用该特性

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETMOUSESIDEMOVETHRESHOLD
(0x0088)

1. 获取从显示器或显示器组的顶部用鼠标拖一个垂直最大化窗口恢复的阈值,单位像素。默认阈值为 50

2. 使用 SPI_GETWINARRANGING 确定是否启用该特性

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETNONCLIENTMETRICS
(0x0029)

1. 获取与非最小化窗口的非客户区有关的度量信息

2. 参数 pvParam 必须指向 NONCLIENTMETRICS 结构,以便接收相应值。该结构的 cbSize 成员与 uiParam 参数值应设为 sizeof(NONCLIENTMETRICS)

SPI_GETPENDOCKTHRESHOLD
(0x0080)

1. 获取使用笔拖动窗口到显示器或显示器组的边缘,触发加入 Dock 快捷栏的阈值,单位像素。默认阈值是 30

2. 使用 SPI_GETWINARRANGING 确定是否启用该特性

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETPENDRAGOUTTHRESHOLD
(0x0086)

1. 获取使用笔拖动窗口从显示器或显示器组的边缘向中心移动,触发解锁 Dock 快捷栏的阈值,单位像素。默认阈值是 30

2. 使用 SPI_GETWINARRANGING 确定是否启用该特性

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETPENSIDEMOVETHRESHOLD
(0x008A)

1. 获取从显示器或显示器组的顶部用笔拖一个垂直最大化窗口恢复的阈值,单位像素。默认阈值为 50

2. 使用 SPI_GETWINARRANGING 确定是否启用该特性

3. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETSHOWIMEUI
(0x006E)

1. 获取输入法状态窗口是否可见(基于单用户)

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果状态窗口是可见的值为 TRUE,否则 FALSE

SPI_GETSNAPSIZING
(0x008E)

1. 获取当窗口被拉伸至显示器或显示器组的顶部或底部是否最大化

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用值为 TRUE,否则 FALSE

3. 使用 SPI_GETWINARRANGING 确定是否启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_GETWINARRANGING
(0x0082)

1. 获取是否启用窗口排列

2. pvParam 参数必须指向一个 BOOL 变量接收该值。如果启用 TRUE,否则 FALSE

3. 通过简化默认窗口行为,当拖动或者拉伸窗口时,窗口排列减少了鼠标、笔、或触摸交互移动和拉伸顶级窗口的次数

4. 下列参数获取个人窗口排列设置:
 

·         SPI_GETDOCKMOVING

·         SPI_GETMOUSEDOCKTHRESHOLD

·         SPI_GETMOUSEDRAGOUTTHRESHOLD

·         SPI_GETMOUSESIDEMOVETHRESHOLD

·         SPI_GETPENDOCKTHRESHOLD

·         SPI_GETPENDRAGOUTTHRESHOLD

·         SPI_GETPENSIDEMOVETHRESHOLD

·         SPI_GETSNAPSIZING


5. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETACTIVEWINDOWTRACKING
(0x1001)

1. 设置活动窗口追踪的开或关(鼠标在上面激活窗口)

2. 如果把参数 pvParam 设为 TRUE,则表示开。pvParam 参数为 FALSE 时表示关

SPI_SETACTIVEWNDTRKZORDER
(0x100D)

1. 设置是否把通过活动窗口跟踪而激活的窗口推至顶层

2. 参数 pvParam 设为 TRUE 表示推至顶层,FALSE 则表示不推至顶层

SPI_SETACTIVEWNDTRKTIMEOUT
(0x2003)

1. 设置活动窗口跟踪延迟

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

SPI_SETANIMATION
(0x0049)

1. 设置用户操作的动画特效

2. pvParam 参数必须指向一个包含新参数ANIMATIONINFO 结构。设置 cbSize 成员结构和 uiParam 参数为 sizeof(ANIMATIONINFO)

SPI_SETBORDER
(0x0006)

1. 设置确定窗口缩放边界的边界放大因子

2. 参数 uiParam 用来指定该值

SPI_SETCARETWIDTH
(0x2007)

1. 设置在编辑控件中插入符号的宽度

2. 设置 pvParam 为所需的宽度,像素为单位。默认的最小值是 1

SPI_SETDOCKMOVING
(0x0091)

1. 设置当窗口移到显示器或显示器组的上面,左边或右边缘是否加入 Dock 快捷栏

2. pvParam 参数必须指向一个 BOOL 变量设置该值,启用 TRUE,否则 FALSE

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETDRAGFROMMAXIMIZE
(0x008D)

1. 设置当拖动标题栏时,最大化窗口是否恢复

2. pvParam 设置为 TRUE 打开,关闭 FALSE

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETDRAGFULLWINDOWS
(0x0025)

1. 设置是否允许拖至最大窗口

2. 参数 uiParam 指定为 TRUE 时表示为允许,为 FALSE 则不可

SPI_SETDRAGHEIGHT
(0x004D)

1. 设置用于检测拖拉操作起点的矩形区域的高度,单位为像素

2. 设置 uiParam 为新的高度值

3. 使用 SM_CYDRAG 标识调用 GetSystemMetrics 函数获取拖拽的高度

SPI_SETDRAGWIDTH
(0x004C)

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

2. 设置 uiParam 为新的宽度值

3. 使用 SM_CXDRAG 标识调用 GetSystemMetrics 函数获取拖拽的宽度

SPI_SETFOREGROUNDFLASHCOUNT
(0x2005)

1. 设置 SetForegroundWindow 函数在拒绝前台切换申请时闪烁任务拦按钮的次数

2. 设置 pvParam 参数为闪烁的次数

SPI_SETFOREGROUNDLOCKTIMEOUT
(0x2001)

1. 它用来设置在用户输入之后,系统禁止应用程序强行将自己进入前台期间的时间长度,单位为毫秒

2. 参数 pvParam 设置这个新的时间限度值

3. 调用中的线程必须能够改变前台窗口,否则调用失败

SPI_SETMINIMIZEDMETRICS
(0x002C)

1. 设置与最小化窗口有关的数据标准

2. 参数 pvParam 必须指向包含新参数的MINIMIZEDMETRICS 结构。该结构中的 cbSize 成员和 uiParam 参数的值应设为 sizeof(MINIMIZEDMETRICS)

SPI_SETMOUSEDOCKTHRESHOLD
(0x007F)

1. 设置鼠标拖动窗口到显示器或显示器组的边缘加入 Dock 快捷栏的阈值,单位像素。默认阈值是 1

2. pvParam 参数必须指向一个包含新阈值 DWORD 变量

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETMOUSEDRAGOUTTHRESHOLD
(0x0085)

1. 设置鼠标拖动窗口从显示器或显示器组的边缘向中心移动解除 Dock 快捷栏的阈值,单位像素。默认阈值是 20

2. pvParam 参数必须指向一个包含新阈值 DWORD 变量

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETMOUSESIDEMOVETHRESHOLD
(0x0089)

1. 设置从显示器或显示器组的顶部用鼠标拖一个垂直最大化窗口恢复的阈值,单位像素。默认阈值为 50

2. pvParam 参数必须指向一个包含新阈值 DWORD 变量

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETNONCLIENTMETRICS
(0x002A)

1. 设置与非最小化窗口的非客区有关的数据标准

2. 参数 pvParam 必须指向 NONCLIENTMETRICS 结构,该结构包含新的参数。其成员 cbSzie 和参数 uiParam 的值应设为 sizeof(NONCLIENTMETRICS)。同时 LOGFONT结构 lfHeight 成员必须的一个负值

SPI_SETPENDOCKTHRESHOLD
(0x0081)

1. 设置使用笔拖动窗口到显示器或显示器组的边缘,触发加入 Dock 快捷栏的阈值,单位像素。默认阈值是 30

2. pvParam 参数必须指向一个包含新阈值 DWORD 变量

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETPENDRAGOUTTHRESHOLD
(0x0087)

1. 设置使用笔拖动窗口从显示器或显示器组的边缘向中心移动,触发解锁 Dock 快捷栏的阈值,单位像素。默认阈值是 30

2. pvParam 参数必须指向一个包含新阈值 DWORD 变量

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETPENSIDEMOVETHRESHOLD
(0x008B)

1. 设置从显示器或显示器组的顶部用笔拖一个垂直最大化窗口恢复的阈值,单位像素。默认阈值为 50

2. pvParam 参数必须指向一个包含新阈值 DWORD 变量

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETSHOWIMEUI
(0x006F)

1. 设置输入法状态窗口是否可见(基于单用户)

2. uiParam 参数指定 TRUE 为打开 ,FALSE 为关闭

SPI_SETSNAPSIZING
(0x008F)

1. 设置当窗口被拉伸至显示器或显示器组的顶部或底部是否最大化

2. 如果启用则设置 pvParam 参数值为 TRUE,否则 FALSE

3. 必须设置 SPI_GETWINARRANGING 为 TRUE 启用该特性

4. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

SPI_SETWINARRANGING
(0x0083)

1. 设置是否启用窗口排列

2. pvParam 参数设置 TRUE 为启用,否则 FALSE

3. 通过简化默认窗口行为,当拖动或者拉伸窗口时,窗口排列减少了鼠标、笔、或触摸交互移动和拉伸顶级窗口的次数

4. 下列参数设置个人窗口排列设置:
 

·         SPI_SETDOCKMOVING

·         SPI_SETMOUSEDOCKTHRESHOLD

·         SPI_SETMOUSEDRAGOUTTHRESHOLD

·         SPI_SETMOUSESIDEMOVETHRESHOLD

·         SPI_SETPENDOCKTHRESHOLD

·         SPI_SETPENDRAGOUTTHRESHOLD

·         SPI_SETPENSIDEMOVETHRESHOLD

·         SPI_SETSNAPSIZING


5. Windows Server 2008,Windows Vista,Windows Server 2003 和 Windows XP/2000:不支持该参数

uiParam

1. 该参数用法和格式取决于系统参数的查询类型或设置

2. 关于系统参数更多信息,参见 uiAction 参数

3. 如果没有表达其他含义,您必须指定这个参数为 0

pvParam

1. 该参数用法和格式取决于系统参数的查询类型或设置

2. 关于系统参数更多信息,见 uiAction 参数

3. 如果没有表达其他含义,你必须为该参数指定 NULL

4. 关于 PVOID 数据类型的更多信息,请参阅 Windows Data Types

fWinIni

1. 如果设置系统参数,则它用来指定是否更新用户配置文件。如果更新,则要指定是否要将WM_SETTINGCHANGE 消息广播给所有顶层窗口,以通知它们新的变化内容

2. 如果你不想更新用户配置文件或广播 WM_SETTINGCHANGE 消息,该参数可以设置为 0 

3. 该参数也可以设置下列一个或多个值:
 

含义

SPIF_UPDATEINIFILE

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

SPIF_SENDCHANGE

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

SPIF_SENDWININICHANGE

和 SPIF_SENDCHANGE 参数值相同



返回值:

1. 如果函数调用成功,返回值非 0;

2. 如果函数调用失败,那么返回值为 0。

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


备注:

1. 该函数与允许用户对 Windows 任意进行定制的应用程序一起使用。

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

3. 高亮颜色方案和高亮模式是有区别的。高亮颜色方案改变系统颜色为明显的对比颜色,您可以通过使用控制面板的显示选项切换到这个配色方案。使用 SPI_GETHIGHCONTRAST 参数值和 SPI_SETHIGHCONTRAST 参数值的高亮模式,为视力障碍用户修改应用程序的外观。它包括诸如声音警告用户和自定义配色方案(使用控制面板中的辅助功能选项)。更多信息,请参见 HIGHCONTRAST。更多易用特性信息,请参阅 Accessibility

4. 前按钮按下激活鼠标自动锁功能的期间,用户可以移动鼠标。前按钮锁定后,释放前按钮不会触发 WM_LBUTTONUP 消息。因此,应用程序认为前按钮仍然处于按下状态。后续的任何按钮消息能释放的前按钮,发送 WM_LBUTTONUP 消息到应用程序,因此既可以通过写程式方式解锁按钮也可以通过用户点击任何按钮解锁。


例子:

下边代码通过使用 SystemParametersInfo 函数设置鼠标速度加倍:
 

#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")    

void main()  
{     
    BOOL fResult;
    int aMouseInfo[3];    // 存放鼠标信息的数组
    
    // 获取当前的鼠标速度         
    fResult = SystemParametersInfo(SPI_GETMOUSE,   // 获取鼠标信息
                                   0,              // 不使用
                                   &aMouseInfo,    // 保存鼠标信息
                                   0);             // 不使用           
                                   
    // 速度加倍         
    if( fResult )     
    {
        aMouseInfo[2] = 2 * aMouseInfo[2];
        
        // Change the mouse speed to the new value.
        SystemParametersInfo(SPI_SETMOUSE,      // 获取鼠标信息
                             0,                 // 不使用
                             aMouseInfo,        // 鼠标信息
                             SPIF_SENDCHANGE);  // 更新 Win.ini
    }  
}



需求:
 

Minimum supported client

Windows XP [桌面应用程序 | Windows 商店应用程序]

Minimum supported server

Windows 2003 服务器版 [桌面应用程序 | Windows 商店应用程序]

Minimum supported phone

Windows Phone 8

Header

WinBase.h (包含于 Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1561 更新时间:2017-6-29 20:21:32  【打印此页

上一条:ReleaseCapture

下一条:CheckMenuItem

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修