Export (0) Print
Expand All

SystemParametersInfo (Windows CE 5.0)

Windows CE 5.0
Send Feedback

This function queries or sets system-wide parameters, and updates the user profile during the process.

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

Parameters

uiAction
[in] Specifies the system-wide parameter to query or set. This parameter can be one of the following values, depending on the sysgen variable that is set. For more information, see the Remarks section.
ValueDescription
SPI_APPBUTTONCHANGERetrieves the application button mappings.
SPI_GETACCESSTIMEOUTRetrieves information about the time-out period associated with the accessibility options. The pvParam parameter must point to an ACCESSTIMEOUT structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(ACCESSTIMEOUT). This value is supported in Windows CE .NET 4.0 and later.
SPI_GETBATTERYIDLETIMEOUTRetrieves the amount of time that Windows CE will stay on with battery power before it suspends due to user inaction. The pvParam parameter points to a DWORD that returns the time in seconds. This flag is ignored if pvParam is zero.

If you disable GWES suspend management then this value will read 0.

SPI_GETEXTERNALIDLETIMEOUTRetrieves the amount of time that Windows CE will stay on with AC power before it suspends due to user inaction. The pvParam parameter points to a DWORD that returns the time in seconds. This flag is ignored if pvParam is zero.

If you disable GWES suspend management then this value will read 0.

SPI_GETFONTSMOOTHINGDetermines whether the font smoothing feature is enabled. This capability uses font antialiasing to make font curves appear smoother by painting pixels at different gray levels. Font smoothing is required for Microsoft® ClearType® support.

The pvParam parameter must point to a BOOL variable that receives TRUE if the feature is enabled, or FALSE if it is not.

SPI_GETFONTSMOOTHINGCONTRASTRetrieves a contrast value that is used in smoothing text displayed using Microsoft® ClearType®. The pvParam parameter must point to a UINT that receives the information.
SPI_GETHIGHCONTRASTRetrieves information about the high-contrast accessibility option. The pvParam parameter must point to a HIGHCONTRAST structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(HIGHCONTRAST). This value is supported in Windows CE .NET 4.0 and later.
SPI_GETMOUSERetrieves the two mouse threshold values and the mouse speed.
SPI_GETMOUSEKEYSRetrieves information about the mouse keys accessibility option. The pvParam parameter must point to a MOUSEKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(MOUSEKEYS). This value is supported in Windows CE .NET 4.0 and later.
SPI_GETOEMINFOReturns a string containing the model number and manufacturer name. The uiParam parameter specifies the length of the buffer in pvParam, which on successful return contains the string in Unicode characters.
SPI_GETPLATFORMTYPEReturns a string specifying the type of Windows CE device. The uiParam parameter specifies the number of characters in the buffer in pvParam, which on successful return contains the string in Unicode characters. This string allows applications to determine the device type.
SPI_GETPLATFORMVERSIONAssigns a version number to an OEM OS design, when used in conjunction with the SPI_GETPLATFORMTYPE IOCTL. For more information, see Implementation of the SPI_GETPLATFORMVERSION IOCTL.
SPI_GETSCREENSAVETIMEOUTRetrieves the screen saver time-out value, in seconds. The pvParam parameter must point to an integer that receives the value. This value is supported in Windows CE .NET 4.0 and later.
SPI_GETSHOWSOUNDSRetrieves whether the show sounds option is on or off. If the option is on, the user requires an application to present information visually in situations where the application otherwise only presents the information audibly. The pvParam parameter must point to a parameter of type BOOL that receives TRUE if the feature is on or FALSE if the feature is off. This value is supported in Windows CE .NET 4.0 and later.
SPI_GETSOUNDSENTRYRetrieves information about the sound sentry accessibility option. The pvParam parameter must point to a SOUNDSENTRY structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(SOUNDSENTRY). This value is supported in Windows CE .NET 4.0 and later.
SPI_GETSTICKYKEYSRetrieves information about the sticky keys accessibility option. The pvParam parameter must point to a STICKYKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(STICKYKEYS). This value is supported in Windows CE .NET 4.0 and later.
SPI_GETTOGGLEKEYSRetrieves information about the toggle keys accessibility option. The pvParam parameter must point to a TOGGLEKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(TOGGLEKEYS). This value is supported in Windows CE .NET 4.0 and later.
SPI_GETWAKEUPIDLETIMEOUTRetrieves the amount of time that Windows CE will stay on after a user notification that reactivates a suspended device. The pvParam parameter points to a DWORD that returns the time in seconds. This flag is ignored if pvParam is zero.

If you disable GWES suspend management then this value will read 0.

SPI_GETWHEELSCROLLLINESGets the number of lines to scroll when the mouse wheel is rotated. The pvParam parameter must point to a UINT variable that receives the number of lines. The default value is 3.
SPI_GETWORKAREARetrieves the size of the work area on the primary screen. The work area is the portion of the screen not obscured by the system task bar or by toolbars displayed on the desktop by applications. The pvParam parameter must point to a RECT structure that receives the coordinates of the work area, expressed in virtual screen coordinates.

To get the work area of a screen other than the primary screen, call the GetMonitorInfo function.

SPI_SETACCESSTIMEOUTSets the time-out period associated with the accessibility options. The pvParam parameter must point to an ACCESSTIMEOUT structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(ACCESSTIMEOUT). This value is supported in Windows CE .NET 4.0 and later.
SPI_SETBATTERYIDLETIMEOUTSets the amount of time that Windows CE will stay on with battery power before it suspends due to user inaction. The Windows CE operating system will remain on, with battery power, as long as the keyboard or touch screen is active. The uiParam parameter specifies the time to set in seconds. This flag is ignored if uiParam is set to zero.

If you disable GWES suspend management then attempts to set this parameter will fail, returning ERROR_RESOURCE_DISABLED.

SPI_SETEXTERNALIDLETIMEOUTSets the amount of time that Windows CE will stay on with AC power before it suspends due to user inaction. The Windows CE operating system will remain on, with AC power, as long as the keyboard or touch screen is active. The uiParam parameter specifies the time in seconds. This flag is ignored if uiParam is set to zero.

If you disable GWES suspend management then attempts to set this parameter will fail, returning ERROR_RESOURCE_DISABLED.

SPI_SETFONTSMOOTHINGEnables or disables font smoothing, which uses font antialiasing to make font curves appear smoother by painting pixels at different gray levels. Font smoothing is required for Microsoft® ClearType® support.

To enable this capability, set the uiParam parameter to TRUE. To disable it, set uiParam to FALSE.

SPI_SETFONTSMOOTHINGCONTRASTSets the contrast value used when displaying text in a ClearType font. The pvParam parameter points to a UINT that holds the contrast value. Valid contrast values are from 1000 to 2200. These values correspond to physical contrast values from 1.0 to 2.2. The default value is 1400. This value is supported in Windows CE .NET 4.0 and later.
SPI_SETHIGHCONTRASTSets the properties of the high-contrast accessibility option. The pvParam parameter must point to a HIGHCONTRAST structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(HIGHCONTRAST). This value is supported in Windows CE .NET 4.0 and later.
SPI_SETMOUSESets the two mouse threshold values and the mouse speed. When you make this call, GWES performs the following tasks:
  • GWES updates a global variable with the speed setting.
  • GWES writes the speed value to HKCU\Control Panel\Mouse\MouseSpeed. (The other two values update MouseThreshold1 and MouseThreshold2.)

When a relative mouse movement event occurs (not a MOUSEEVENTF_ABSOLUTE event), GWES accelerates large movements if the MouseSpeed setting is nonzero. The movement is a delta in the X and Y range.

During acceleration, if the delta is larger than MouseThreshold1, it is doubled.

During acceleration, if the delta is larger than MouseThreshold1 and MouseThreshold2, and if MouseSpeed is 2, it is doubled again.

Depending on the size of the mouse movement and the settings of MouseThreshold1, MouseThreshold2, and MouseSpeed, the actual position delta will be unchanged, doubled, or quadrupled. This calculation is carried out independently for the X and Y coordinates.

SPI_SETMOUSEKEYSSets the properties of the mouse keys accessibility option. The pvParam parameter must point to a MOUSEKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(MOUSEKEYS). This value is supported in Windows CE .NET 4.0 and later.
SPI_SETSCREENSAVETIMEOUTSets the screen saver time-out value to the value of the uiParam parameter. This value is the amount of time, in seconds, that the system must remain idle before the screen saver activates. This value is supported in Windows CE .NET 4.0 and later.
SPI_SETSHOWSOUNDSTurns the show sounds accessibility option on or off. Set the pvParam parameter to TRUE to turn the option on or to FALSE the turn the feature off. This value is supported in Windows CE .NET 4.0 and later.
SPI_SETSOUNDSENTRYSets the properties of the sound sentry accessibility option. The pvParam parameter must point to a SOUNDSENTRY structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(SOUNDSENTRY). This value is supported in Windows CE .NET 4.0 and later.
SPI_SETSTICKYKEYSSets the properties of the sticky keys accessibility option. The pvParam parameter must point to a STICKYKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(STICKYKEYS). This value is supported in Windows CE .NET 4.0 and later.
SPI_SETTOGGLEKEYSSets the properties of the toggle keys accessibility option. The pvParam parameter must point to a TOGGLEKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(TOGGLEKEYS). This value is supported in Windows CE .NET 4.0 and later.
SPI_SETWAKEUPIDLETIMEOUTSets the amount of time that Windows CE will stay on after a user notification that reactivates the suspended device. The uiParam parameter specifies the time in seconds. This flag is ignored if uiParam is set to zero.

If you disable GWES suspend management then attempts to set this parameter will fail, returning ERROR_RESOURCE_DISABLED.

SPI_SETWHEELSCROLLLINESSets the number of lines to scroll when the mouse wheel is rotated. The number of lines is set from the uiParam parameter.

The number of lines is the suggested number of lines to scroll when the mouse wheel is rolled without using modifier keys. If the number is 0, then no scrolling should occur. If the number of lines to scroll is greater than the number of lines viewable, and especially if it is WHEEL_PAGESCROLL (whose value is UINT_MAX), the scroll operation should be interpreted as clicking once in the page down or page up regions of the scroll bar.

SPI_SETWORKAREASets the size of the work area — the portion of the screen not obscured by the system taskbar or by toolbars displayed on the desktop by applications. The pvParam parameter is a pointer to a RECT structure that specifies the new work area rectangle, expressed in virtual screen coordinates. In a system with multiple screens, the function sets the work area of the monitor that contains the specified rectangle.

If pvParam is NULL, the function sets the work area of the primary screen to the full screen.

uiParam
[in] Depends on the system parameter being queried or set. For more information about system-wide parameters, see the uiAction parameter. If not otherwise indicated, you must specify zero for this parameter.
pvParam
[out] Depends on the system parameter being queried or set. For more information about system-wide parameters, see the uiAction parameter. If not otherwise indicated, you must specify NULL for this parameter.

If the pvParam buffer is used to get the platform type or OEM information string and the buffer is too small, this function fails with ERROR_INSUFFICIENT_BUFFER in the last error.

fWinIni
[in] Boolean that, if a system parameter is being set, specifies whether the user profile is to be updated, and if so, whether the WM_SETTINGCHANGE message is to be broadcast to all top-level windows to notify them of the change. This parameter can be zero or can be one of the following values.
ValueDescription
SPIF_UPDATEINIFILEWrites the new system-wide parameter setting to the user profile.
SPIF_SENDCHANGEBroadcasts the WM_SETTINGCHANGE message.

Return Values

Nonzero indicates success. Zero indicates failure. This function will return ERROR_RESOURCE_DISABLED if you attempt to set the values SPI_SETBATTERYIDLETIMEOUT, SPI_SETEXTERNALIDLETIMEOUT, or SPI_SETWAKEUPIDLETIMEOUT when GWES suspend management is disabled.

To get extended error information, call GetLastError.

Remarks

Windows CE supports only the Unicode version of this function.

This function is intended for use with applications, such as Control Panel, that allow the user to customize the environment.

If you have both sticky keys and high contrast enabled, the HIGHCONTRAST hot keys have to be pressed sequentially and not simultaneously to toggle HIGHCONTRAST on or off. The correct key sequence is to press and release LEFT ALT, then press and release LEFT SHIFT, and then press and release PRINTSCRN.

The values of parameter uiAction depend on the sysgen values that are set when building the run-time image. The following table shows which values are available for a given sysgen.

SysgenValue
SYSGEN_TOUCH or SYSGEN_CURSOR SPI_SETMOUSE
SPI_GETMOUSE
SYSGEN_ACCESSIBSPI_GETTOGGLEKEYS
SPI_SETTOGGLEKEYS
SPI_GETMOUSEKEYS
SPI_SETMOUSEKEYS
SPI_GETSTICKYKEYS
SPI_SETSTICKYKEYS
SPI_GETACCESSTIMEOUT
SPI_SETACCESSTIMEOUT
SPI_GETSOUNDSENTRY
SPI_SETSOUNDSENTRY
SPI_GETHIGHCONTRAST
SPI_SETHIGHCONTRAST
SYSGEN_MININPUT SPI_GETSCREENSAVETIMEOUT
SPI_SETSCREENSAVETIMEOUT
SPI_SETBATTERYIDLETIMEOUT
SPI_GETBATTERYIDLETIMEOUT
SPI_SETEXTERNALIDLETIMEOUT
SPI_GETEXTERNALIDLETIMEOUT
SPI_SETWAKEUPIDLETIMEOUT
SPI_GETWAKEUPIDLETIMEOUT

Requirements

OS Versions: Windows CE 2.0 and later.
Header: Winuser.h.
Link Library: Coredll.lib.

See Also

GetMonitorInfo | GetSystemMetrics | WM_SETTINGCHANGE | ACCESSTIMEOUT | HIGHCONTRAST | MOUSEKEYS | SIPINFO | SOUNDSENTRY | STICKYKEYS | TOGGLEKEYS | System Information Functions


Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.


Show:
© 2015 Microsoft