共用方式為


SystemParametersInfoA 函式 (winuser.h)

重要

有些資訊與發行前版本產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。

擷取或設定其中一個全系統參數的值。 此函式也可以在設定參數時更新使用者配置檔。

語法

BOOL SystemParametersInfoA(
  [in]      UINT  uiAction,
  [in]      UINT  uiParam,
  [in, out] PVOID pvParam,
  [in]      UINT  fWinIni
);

參數

[in] uiAction

類型: UINT

要擷取或設定的系統範圍參數。 可能的值會組織在下列相關參數的數據表中:

  • 輔助功能參數
  • 桌面參數
  • 圖示參數
  • 輸入參數
  • 功能表參數
  • 電源參數
  • 屏幕保護參數
  • 逾時參數
  • UI 效果參數
  • 窗口參數

以下是輔助功能參數。

輔助功能參數 意義
SPI_GETACCESSTIMEOUT
0x003C
擷取與輔助功能功能相關聯逾時期間的相關信息。 pvParam 參數必須指向接收資訊的 ACCESSTIMEOUT 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(ACCESSTIMEOUT)
SPI_GETAUDIODESCRIPTION
0x0074
判斷是否啟用或停用音訊描述。 pvParam 參數是 AUDIODESCRIPTION 結構的指標。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(AUDIODESCRIPTION)

雖然有視覺障礙的使用者可以在視訊內容中聽到音訊,但影片中有許多動作沒有對應的音訊。 影片中發生狀況的特定音訊描述可協助這些使用者更了解內容。 此旗標可讓您判斷是否已啟用音訊描述,以及該語言的哪個語言。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETCLIENTAREAANIMATION
0x1042
判斷是否啟用或停用動畫。 pvParam 參數必須指向BOOL變數,如果啟用動畫則為TRUE,否則為 FALSE

顯示功能,例如閃爍、閃爍、閃爍和移動內容,可能會造成具有相片敏感性癥狀的使用者。 此旗標可讓您判斷是否已在工作區中停用這類動畫。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETDISABLEOVERLAPPEDCONTENT
0x1040
判斷是否啟用或停用重疊的內容。 pvParam 參數必須指向BOOL變數,如果啟用則為TRUE,否則為 FALSE

顯示背景影像、紋理背景、檔上的浮水印、Alpha 混合和透明度等功能,可以降低前景和背景之間的對比,讓使用者難以在畫面上看到物件。 此旗標可讓您判斷是否已停用這類重疊的內容。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETFILTERKEYS
0x0032
擷取 FilterKeys 輔助功能功能的相關信息。 pvParam 參數必須指向接收資訊的 FILTERKEYS 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(FILTERKEYS)
SPI_GETFOCUSBORDERHEIGHT
0x2010
擷取以 DrawFocusRect 繪製之焦點矩形上邊緣和下邊緣的高度,以像素為單位。 pvParam 參數必須指向UINT值。

Windows 2000: 不支援此參數。

SPI_GETFOCUSBORDERWIDTH
0x200E
擷取以 DrawFocusRect 繪製之焦點矩形的左右邊緣的寬度,以像素為單位。 pvParam 參數必須指向UINT

Windows 2000: 不支援此參數。

SPI_GETHIGHCONTRAST
0x0042
擷取 HighContrast 輔助功能功能的相關信息。 pvParam 參數必須指向接收資訊的 HIGHCONTRAST 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(HIGHCONTRAST)

如需一般討論,請參閱。

SPI_GETLOGICALDPIOVERRIDE
0x009E
擷取值,這個值會決定 Windows 8 是否使用硬體的預設縮放平臺來顯示應用程式,或前往下一個較高的穩定時間。 此值是以目前「讓螢幕上的所有專案變大」設定為基礎,可在計算機設定的 [輕鬆存取] 區段中找到:1 為開啟,0 為關閉。

應用程式可以為數個縮放比例各提供文字和影像資源:100%、140% 和 180%。 提供針對特定規模優化的個別資源,可避免因重設大小而扭曲。 Windows 8 會根據許多因素來決定適當的縮放比例,包括螢幕大小和圖元密度。 選取 [讓螢幕上的所有專案變大] 時, (SPI_GETLOGICALDPIOVERRIDE 傳回值 1) ,Windows 會使用來自下一個較高平台的資源。 例如,在 Windows 判斷的硬體應該使用 SCALE_100_PERCENT小數位數的情況下,此覆寫會讓 Windows 使用 SCALE_140_PERCENT 小數位數值,假設它不會違反其他條件約束。

注意 您不應該使用此值。 後續版本的 Windows 可能會變更或無法使用。 請改用 GetScaleFactorForDevice 函式或 DisplayProperties 類別來擷取慣用的縮放比例。 傳統型應用程式應該使用桌面邏輯 DPI,而不是縮放比例。 桌面邏輯 DPI 可以透過 GetDeviceCaps 函式擷取。
 
SPI_GETMESSAGEDURATION
0x2016
擷取應該以秒為單位顯示通知快顯的時間。 pvParam 參數必須指向接收訊息持續時間的 ULONG

具有視覺障礙或認知條件的使用者,例如 ADHD 和障礙可能需要較長的時間才能讀取通知訊息中的文字。 此旗標可讓您擷取訊息持續時間。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETMOUSECLICKLOCK
0x101E
擷取滑鼠 ClickLock 功能的狀態。 pvParam 參數必須指向BOOL變數,如果啟用則為TRUE,否則為 FALSE。 如需詳細資訊,請參閱 滑鼠輸入概觀

Windows 2000: 不支援此參數。

SPI_GETMOUSECLICKLOCKTIME
0x2008
擷取鎖定主要滑鼠按鈕之前的時間延遲。 pvParam 參數必須指向接收時間延遲的 DWORD,以毫秒為單位。 只有在 SPI_SETMOUSECLICKLOCK 設定為 TRUE 時,才會啟用此設定。 如需詳細資訊,請參閱 滑鼠輸入概觀

Windows 2000: 不支援此參數。

SPI_GETMOUSEKEYS
0x0036
擷取 MouseKeys 輔助功能功能的相關信息。 pvParam 參數必須指向接收資訊的 MOUSEKEYS 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(MOUSEKEYS)
SPI_GETMOUSESONAR
0x101C
擷取 Mouse Sonar 功能的狀態。 pvParam 參數必須指向BOOL變數,如果啟用或 FALSE,則會收到TRUE。 如需詳細資訊,請參閱 滑鼠輸入概觀

Windows 2000: 不支援此參數。

SPI_GETMOUSEVANISH
0x1020
擷取滑鼠消失功能的狀態。 pvParam 參數必須指向BOOL變數,如果啟用或 FALSE,則會收到TRUE。 如需詳細資訊,請參閱 滑鼠輸入概觀

Windows 2000: 不支援此參數。

SPI_GETSCREENREADER
0x0046
判斷螢幕檢閱者公用程式是否正在執行。 螢幕檢閱者公用程式會將文字資訊導向輸出裝置,例如語音合成器或 Braille 顯示器。 設定此旗標時,應用程式應該在圖形化呈現信息的情況下提供文字資訊。

pvParam 參數是 BOOL 變數的指標,如果螢幕檢閱者公用程式正在執行,則會收到 TRUE,否則為 FALSE

注意 朗讀程式是 Windows 隨附的螢幕助讀程式,不會設定 SPI_SETSCREENREADERSPI_GETSCREENREADER 旗標。
 
SPI_GETSERIALKEYS
0x003E
不支援此參數。

Windows Server 2003 和 Windows XP/2000: 用戶應該透過 [控制面板] 來控制此設定。

SPI_GETSHOWSOUNDS
0x0038
判斷 [顯示音效] 輔助功能旗標是否開啟或關閉。 如果開啟,使用者需要應用程式以可視化方式呈現資訊,否則只會以可聽見的形式呈現資訊。 pvParam 參數必須指向BOOL變數,如果功能已開啟,則為 FALSE

使用此值相當於使用 SM_SHOWSOUNDS呼叫 GetSystemMetrics。 這是建議的呼叫。

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
開啟或關閉音訊描述功能。 pvParam 參數是 AUDIODESCRIPTION 結構的指標。

雖然視覺受損的使用者可以在視訊內容中聽到音訊,但視訊中有許多沒有對應音訊的動作。 影片中發生狀況的特定音訊描述可協助這些使用者更了解內容。 此旗標可讓您以所提供的語言啟用或停用音訊描述。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETCLIENTAREAANIMATION
0x1043
開啟或關閉工作區動畫。 pvParam 參數是BOOL變數。 將 pvParam 設定為 TRUE ,以在工作區中啟用動畫和其他暫時性效果,或 將 FALSE 設為停用 它們。

顯示功能,例如閃爍、閃爍、閃爍和移動內容,可能會造成具有相片敏感性癥狀的使用者。 此旗標可讓您啟用或停用所有這類動畫。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETDISABLEOVERLAPPEDCONTENT
0x1041
開啟或關閉重疊的內容 (,例如背景影像和浮浮浮浮水印) 。 pvParam 參數是BOOL變數。 將 pvParam 設定為 TRUE 以停用重疊的內容,或 將 FALSE 設定為啟用重疊的內容。

顯示背景影像、紋理背景、檔上的浮水印、Alpha 混合和透明度等功能,可以降低前景和背景之間的對比,讓使用者難以在畫面上看到物件。 此旗標可讓您啟用或停用所有這類重疊的內容。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETFILTERKEYS
0x0033
設定 FilterKeys 輔助功能功能的參數。 pvParam 參數必須指向包含新參數的 FILTERKEYS 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(FILTERKEYS)
SPI_SETFOCUSBORDERHEIGHT
0x2011
使用 DrawFocusRect 繪製之焦點矩形的上邊緣和下邊緣的高度設定為 pvParam 參數的值。

Windows 2000: 不支援此參數。

SPI_SETFOCUSBORDERWIDTH
0x200F
使用 DrawFocusRect 繪製之焦點矩形的左邊緣和右邊緣的高度設定為 pvParam 參數的值。

Windows 2000: 不支援此參數。

SPI_SETHIGHCONTRAST
0x0043
設定 HighContrast 輔助功能功能的參數。 pvParam 參數必須指向包含新參數的 HIGHCONTRAST 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(HIGHCONTRAST)
SPI_SETLOGICALDPIOVERRIDE
0x009F
請勿使用。
SPI_SETMESSAGEDURATION
0x2017
設定通知快顯顯示的時間,以秒為單位。 pvParam 參數會指定訊息持續時間。

具有視覺障礙或認知條件的使用者,例如 ADHD 和障礙,可能需要較長的時間才能讀取通知訊息中的文字。 此旗標可讓您設定訊息持續時間。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETMOUSECLICKLOCK
0x101F
開啟或關閉滑鼠 ClickLock 輔助功能功能。 此功能會在按下該按鈕並按住 SPI_SETMOUSECLICKLOCKTIME所指定時間時,暫時鎖定主要滑鼠按鈕。 pvParam 參數會針對 on 指定 TRUE,或為 off 指定 FALSE。 預設值是 off。 For more information, see Remarks and AboutMouse Input.

Windows 2000: 不支援此參數。

SPI_SETMOUSECLICKLOCKTIME
0x2009
調整鎖定主要滑鼠按鈕之前的時間延遲。 uiParam 參數應該設定為 0。 pvParam 參數指向 DWORD,指定以毫秒為單位的時間延遲。 例如,針對 1 秒延遲指定 1000。 預設值為 1200。 如需詳細資訊,請參閱 滑鼠輸入概觀

Windows 2000: 不支援此參數。

SPI_SETMOUSEKEYS
0x0037
設定 MouseKeys 輔助功能功能的參數。 pvParam 參數必須指向包含新參數的 MOUSEKEYS 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(MOUSEKEYS)
SPI_SETMOUSESONAR
0x101D
開啟或關閉 Sonar 輔助功能功能。 當使用者按下並放開 CTRL 鍵時,此功能會簡短顯示滑鼠指標周圍的數個同心圓。 pvParam 參數會針對 off 指定 on 和 FALSETRUE。 預設值是 off。 如需詳細資訊,請參閱 滑鼠輸入概觀

Windows 2000: 不支援此參數。

SPI_SETMOUSEVANISH
0x1021
開啟或關閉 [消失] 功能。 這項功能會在使用者輸入時隱藏滑鼠指標;當用戶移動滑鼠時,指標會重新出現。 pvParam 參數會針對 off 指定 on 和 FALSETRUE。 預設值是 off。 如需詳細資訊,請參閱 滑鼠輸入概觀

Windows 2000: 不支援此參數。

SPI_SETSCREENREADER
0x0047
判斷螢幕檢閱公用程式是否正在執行。 uiParam 參數會針對 on 指定 TRUE,或為 off 指定 FALSE
注意 朗讀程式是 Windows 隨附的螢幕助讀程式,不會設定 SPI_SETSCREENREADERSPI_GETSCREENREADER 旗標。
 
SPI_SETSERIALKEYS
0x003F
不支援此參數。

Windows Server 2003 和 Windows XP/2000: 用戶應該透過 [控制面板] 控制此設定。

SPI_SETSHOWSOUNDS
0x0039
開啟或關閉 ShowSounds 輔助功能功能。 uiParam 參數會針對 on 指定 TRUE,或為 off 指定 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)
 

以下是桌面參數。

桌面參數 意義
SPI_GETCLEARTYPE
0x1048
判斷是否啟用 ClearType。 pvParam 參數必須指向BOOL變數,如果啟用 ClearType,則為TRUE,否則為 FALSE

ClearType 是一種軟體技術,可改善在) 監視器 ( (LIF 顯示器上文字的可讀性。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETDESKWALLPAPER
0x0073
擷取桌面桌布的點陣圖檔案完整路徑。 pvParam 參數必須指向緩衝區,才能接收 Null 終止的路徑字串。 將 uiParam 參數設定為 pvParam 緩衝區的大小,以字元為單位。 傳回的字串將不會超過 MAX_PATH 個字元。 如果沒有桌面背景圖案,則傳回的字串是空的。
SPI_GETDROPSHADOW
0x1024
判斷是否啟用陰影效果。 pvParam 參數必須指向BOOL變數,如果已啟用則傳回TRUE,如果停用則傳回 FALSE

Windows 2000: 不支援此參數。

SPI_GETFLATMENU
0x1022
判斷原生用戶功能表是否具有一般功能表外觀。 pvParam 參數必須指向BOOL變數,如果已設定一般功能表外觀,則傳回TRUE,否則為FALSE

Windows 2000: 不支援此參數。

SPI_GETFONTSMOOTHING
0x004A
判斷是否啟用字型平滑功能。 這項功能會使用字型反鋸齒,藉由在不同灰色層級繪製圖元,使字型曲線看起來更平滑。

pvParam 參數必須指向BOOL變數,如果啟用此功能,則為TRUE,否則為 FALSE

SPI_GETFONTSMOOTHINGCONTRAST
0x200C
擷取 ClearType 平滑中使用的對比值。 pvParam 參數必須指向接收資訊的 UINT。 有效的對比值是從 1000 到 2200。 預設值為 1400。

Windows 2000: 不支援此參數。

SPI_GETFONTSMOOTHINGORIENTATION
0x2012
擷取字型平滑方向。 pvParam 參數必須指向接收資訊的 UINT。 可能的值為 FE_FONTSMOOTHINGORIENTATIONBGR (藍色 -綠色-紅色) FE_FONTSMOOTHINGORIENTATIONRGB , (紅色-綠色-藍色) (。

Windows XP/2000: 在具有SP2的 Windows XP 之前,不支援此參數。

SPI_GETFONTSMOOTHINGTYPE
0x200A
擷取字型平滑的類型。 pvParam 參數必須指向接收資訊的 UINT。 可能的值為 FE_FONTSMOOTHINGSTANDARDFE_FONTSMOOTHINGCLEARTYPE

Windows 2000: 不支援此參數。

SPI_GETWORKAREA
0x0030
擷取主要顯示監視器上的工作區域大小。 工作區域是由系統任務列或應用程式桌面工具列遮蔽的螢幕部分。 pvParam 參數必須指向可接收工作區座標的 RECT 結構,以實體圖元大小表示。 呼叫端的任何 DPI 虛擬化模式都不會影響此輸出。

若要取得主要顯示監視器以外的監視器工作區域,請呼叫 GetMonitorInfo 函式。

SPI_SETCLEARTYPE
0x1049
開啟或關閉 ClearType。 pvParam 參數是BOOL變數。 將 pvParam 設定為 TRUE 以啟用 ClearType,或 將 FALSE 設為停用 它。

ClearType 是一種軟體技術,可改善在文本監視器上的文字可讀性。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETCURSORS
0x0057
重載系統數據指標。 將 uiParam 參數設定為零,並將 pvParam 參數設定為 NULL
SPI_SETDESKPATTERN
0x0015
藉由讓 Windows 從 WIN.INI 檔案讀取 Pattern= 設定,以設定目前的桌面模式。
SPI_SETDESKWALLPAPER
0x0014
注意 使用 SPI_SETDESKWALLPAPER 旗標時,除非指定的檔案不存在) 時發生錯誤 (,否則 SystemParametersInfo 會傳回 TRUE
 
SPI_SETDROPSHADOW
0x1025
啟用或停用陰影效果。 將 pvParam 設定為 TRUE ,以啟用陰影效果或 FALSE 來停用它。 您也必須在視窗類別樣式中擁有 CS_DROPSHADOW

Windows 2000: 不支援此參數。

SPI_SETFLATMENU
0x1023
啟用或停用原生使用者功能表的一般功能表外觀。 將 pvParam 設定為 TRUE ,以啟用一般功能表外觀或 FALSE 來停用它。

啟用時,功能表欄會針對功能表欄背景使用 COLOR_MENUBAR 、功能表欄背景 COLOR_MENU、針對 目前功能表選取範圍的填滿 COLOR_MENUHILIGHT ,以及目前功能表選取範圍的大綱 COLOR_HILIGHT 。 如果停用,則會使用與 Windows 2000 相同的計量和色彩來繪製功能表。

Windows 2000: 不支援此參數。

SPI_SETFONTSMOOTHING
0x004B
啟用或停用字型平滑功能,其使用字型反鋸齒讓字型曲線在不同的灰色層級繪製圖元,使其更平滑。

若要啟用此功能,請將 uiParam 參數設定為 TRUE。 若要停用此功能,請將 uiParam 設定為 FALSE

SPI_SETFONTSMOOTHINGCONTRAST
0x200D
設定 ClearType 平滑處理中使用的對比值。 pvParam 參數是對比值。 有效的對比值是從 1000 到 2200。 預設值為 1400。

SPI_SETFONTSMOOTHINGTYPE 也必須設定為 FE_FONTSMOOTHINGCLEARTYPE

Windows 2000: 不支援此參數。

SPI_SETFONTSMOOTHINGORIENTATION
0x2013
設定字型平滑方向。 pvParam 參數FE_FONTSMOOTHINGORIENTATIONBGR ( 藍色-綠色-紅色) 或FE_FONTSMOOTHINGORIENTATIONRGB (紅色-綠色-藍色) 。

Windows XP/2000: 在具有SP2的 Windows XP 之前,不支援此參數。

SPI_SETFONTSMOOTHINGTYPE
0x200B
設定字型平滑類型。 如果使用標準反鋸齒,則 pvParam 參數為 FE_FONTSMOOTHINGSTANDARD,如果使用 ClearType,則為 FE_FONTSMOOTHINGCLEARTYPE。 預設值為 FE_FONTSMOOTHINGSTANDARD

SPI_SETFONTSMOOTHING 也必須設定。

Windows 2000: 不支援此參數。

SPI_SETWORKAREA
0x002F
設定工作區域的大小。 工作區域是由系統任務列或應用程式桌面工具列遮蔽的螢幕部分。 pvParam 參數是 RECT 結構的指標,指定以虛擬螢幕座標表示的新工作區矩形。 在具有多個顯示監視器的系統中,函式會設定包含指定矩形之監視器的工作區域。
 

以下是圖示參數。

圖示參數 意義
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
設定或擷取圖示單元格的寬度,以像素為單位。 系統使用這個矩形,在大型圖示檢視中排列圖示。

若要設定此值,請將 uiParam 設定為新的值,並將 pvParam 設定為 NULL。 您無法將此值設定為小於 SM_CXICON

若要擷取此值, pvParam 必須指向接收目前值的整數。

SPI_ICONVERTICALSPACING
0x0018
設定或擷取圖示單元格的高度,以像素為單位。

若要設定此值,請將 uiParam 設定為新的值,並將 pvParam 設定為 NULL。 您無法將此值設定為小於 SM_CYICON

若要擷取此值, pvParam 必須指向接收目前值的整數。

SPI_SETICONMETRICS
0x002E
設定與圖示相關聯的計量。 pvParam 參數必須指向包含新參數的 ICONMETRICS 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(ICONMETRICS)
SPI_SETICONS
0x0058
重載系統圖示。 將 uiParam 參數設定為零,並將 pvParam 參數設定為 NULL
SPI_SETICONTITLELOGFONT
0x0022
設定用於圖示標題的字型。 uiParam 參數會指定 LOGFONT 結構的大小,而 pvParam 參數必須指向 LOGFONT 結構。
SPI_SETICONTITLEWRAP
0x001A
開啟或關閉圖示標題換行。 uiParam 參數會針對 on 指定 TRUE,或針對 off 指定 FALSE
 

以下是輸入參數。 其中包括與鍵盤、滑鼠、觸控板、手寫筆、輸入語言和警告嗶聲器相關的參數。

輸入參數 意義
SPI_GETBEEP
0x0001
判斷警告嗶聲是否開啟。

pvParam 參數必須指向BOOL變數,如果嗶聲器已開啟,則為 FALSE

SPI_GETBLOCKSENDINPUTRESETS
0x1026
擷取 BOOL ,指出應用程式是否可以藉由呼叫 SendInput 函式來模擬鍵盤或滑鼠輸入來重設螢幕工具的定時器。 pvParam 參數必須指向BOOL變數,如果模擬的輸入將會遭到封鎖,則為TRUE,否則為FALSE
SPI_GETCONTACTVISUALIZATION
0x2018
擷取目前的聯繫人視覺效果設定。 pvParam 參數必須指向接收設定的ULONG變數。 如需詳細資訊,請參閱 聯繫人視覺效果
SPI_GETDEFAULTINPUTLANG
0x0059
擷取系統預設輸入語言的輸入地區設定標識碼。 pvParam 參數必須指向接收此值的 HKL 變數。 如需詳細資訊,請參閱 語言、地區設定和鍵盤配置
SPI_GETGESTUREVISUALIZATION
0x201A
擷取目前的手勢視覺效果設定。 pvParam 參數必須指向接收設定的ULONG變數。 如需詳細資訊,請參閱 手勢視覺效果
SPI_GETKEYBOARDCUES
0x100A
判斷功能表訪問鍵是否一律加上底線。 pvParam 參數必須指向 BOOL 變數,如果功能表訪問鍵一律加上底線,則為 FALSE,如果只有鍵盤啟動功能表時才會加上底線,則為 FALSE
SPI_GETKEYBOARDDELAY
0x0016
擷取鍵盤重複延遲設定,這是介於0 (大約250毫秒延遲) 到3 (大約1秒延遲) 的值。 與每個值相關聯的實際延遲可能會因硬體而異。 pvParam 參數必須指向接收設定的整數變數。
SPI_GETKEYBOARDPREF
0x0044
判斷使用者是否依賴鍵盤而非滑鼠,而且希望應用程式顯示其他隱藏的鍵盤介面。 pvParam 參數必須指向BOOL變數,如果使用者依賴鍵盤,則會收到TRUE;否則為 FALSE
SPI_GETKEYBOARDSPEED
0x000A
擷取鍵盤重複速度設定,這是介於0 (大約每秒2.5次重複2.5) 到31 (大約每秒30次重複) 的值。 實際的重複率與硬體相依,而且可能會隨線性小數字數而有所不同,最多可達 20%。 pvParam 參數必須指向接收設定的 DWORD 變數。
SPI_GETMOUSE
0x0003
擷取兩個滑鼠閾值和滑鼠加速。 pvParam 參數必須指向接收這些值的三個整數數位列。 如需詳細資訊 ,請參閱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
判斷是否啟用滑鼠追蹤功能。 這項功能可藉由簡短顯示游標的尾端並快速清除游標,來改善滑鼠游標移動的可見度。

pvParam 參數必須指向接收值的整數變數。 如果值為零或 1,則會停用此功能。 如果值大於 1,則會啟用此功能,且值表示在尾端繪製的數據指標數目。 不使用 uiParam 參數。

Windows 2000: 不支援此參數。

SPI_GETMOUSEWHEELROUTING
0x201C
擷取滑鼠滾輪輸入的路由設定。 路由設定會決定滑鼠滾輪輸入是否傳送至具有焦點 (前景) 或滑鼠游標下方的應用程式。

pvParam 參數必須指向接收路由選項的 DWORD 變數。 不使用 uiParam 參數。

如果值為零 (MOUSEWHEEL_ROUTING_FOCUS) ,滑鼠滾輪輸入會傳遞至具有焦點的應用程式。 如果值為 1 (MOUSEWHEEL_ROUTING_HYBRID) ,滑鼠滾輪輸入會傳遞至應用程式,並將焦點 (傳統型應用程式) 或滑鼠指標底下的 app (Windows 市集應用程式) 。

從 Windows 10 開始: 如果值為 2 (MOUSEWHEEL_ROUTING_MOUSE_POS) ,滑鼠滾輪輸入會傳遞至滑鼠指標下的應用程式。 這是新的預設值,且 [設定] 中已不再提供MOUSEWHEEL_ROUTING_HYBRID。

SPI_GETPENVISUALIZATION
0x201E
擷取目前的畫筆手勢視覺效果設定。 pvParam 參數必須指向接收設定的ULONG變數。 如需詳細資訊,請參閱 畫筆視覺效果
SPI_GETSNAPTODEFBUTTON
0x005F
判斷是否已啟用嵌入式管理單元到預設按鈕功能。 如果啟用,滑鼠游標會自動移至對話框的預設按鈕,例如 [確定 ] 或 [ 套用]。 pvParam 參數必須指向BOOL變數,如果功能已開啟,則為 FALSE
SPI_GETSYSTEMLANGUAGEBAR
0x1050
從 Windows 8 開始: 判斷是否啟用或停用系統語言列。 pvParam 參數必須指向BOOL變數,如果啟用語言列,則為TRUE,否則為 FALSE
SPI_GETTHREADLOCALINPUTSETTINGS
0x104E
從 Windows 8 開始: 判斷作用中的輸入設定是否有本機 (個別線程、 TRUE) 或全域 (會話、 FALSE) 範圍。 pvParam 參數必須指向BOOL變數。
SPI_GETTOUCHPADPARAMETERS
0x00AE
從 Windows 11 版本 24H2 開始: 擷取精確度觸控板的詳細數據,包括與觸控板相關的使用者設定和系統資訊。

pvParam 參數必須指向TOUCHPAD_PARAMETERS結構。

uiParam 參數必須指定 結構的大小。

TOUCHPAD_PARAMETERS 結構中 versionNumber 欄位的值必須設定為所使用結構版本的適當值。

SPI_GETWHEELSCROLLCHARS
0x006C
擷取移動水平滑鼠滾輪時要捲動的字元數。 pvParam 參數必須指向接收行數的 UINT 變數。 預設值是 3。
SPI_GETWHEELSCROLLLINES
0x0068
擷取移動垂直滑鼠滾輪時要捲動的行數。 pvParam 參數必須指向接收行數的 UINT 變數。 預設值是 3。
SPI_SETBEEP
0x0002
開啟或關閉警告 Beeper。 uiParam 參數會針對 on 指定 TRUE,或為 off 指定 FALSE
SPI_SETBLOCKSENDINPUTRESETS
0x1027
藉由呼叫 SendInput 函式來模擬鍵盤或滑鼠輸入,判斷應用程式是否可以重設 screensaver 的定時器。 如果模擬輸入不會停用 screensaver, 則 uiParam 參數會指定 TRUE ,如果模擬輸入將會停用 screensaver,則 為 FALSE
SPI_SETCONTACTVISUALIZATION
0x2019
設定目前的聯繫人視覺效果設定。 pvParam 參數必須指向識別設定的ULONG變數。 如需詳細資訊,請參閱 聯繫人視覺效果
注意 如果停用聯繫人視覺效果,則無法啟用手勢視覺效果。
 
SPI_SETDEFAULTINPUTLANG
0x005A
設定系統殼層和應用程式的預設輸入語言。 指定的語言必須使用目前的系統字元集來顯示。 pvParam 參數必須指向包含預設語言輸入地區設定標識碼的 HKL 變數。 如需詳細資訊,請參閱 語言、地區設定和鍵盤配置
SPI_SETDOUBLECLICKTIME
0x0020
將滑鼠的按兩下時間設定為 uiParam 參數的值。 如果 uiParam 值大於 5000 毫秒,系統會將按兩下時間設定為五千毫秒。

按兩下時間是第一次和第二次點選雙擊之間可能發生的最大毫秒數。 您也可以呼叫 SetDoubleClickTime 函式來設定按兩下時間。 若要取得目前的按兩下時間,請呼叫 GetDoubleClickTime 函式。

SPI_SETDOUBLECLKHEIGHT
0x001E
將雙擊矩形的高度設定為 uiParam 參數的值。

按兩下矩形是一個矩形,按兩下的第二次按兩下必須落在內,才能將其註冊為按兩下。

若要擷取按兩下矩形的高度,請使用 SM_CYDOUBLECLK旗標呼叫 GetSystemMetrics

SPI_SETDOUBLECLKWIDTH
0x001D
將雙擊矩形的寬度設定為 uiParam 參數的值。

按兩下矩形是一個矩形,按兩下的第二次按兩下必須落在內,才能將其註冊為按兩下。

若要擷取按兩下矩形的寬度,請使用 SM_CXDOUBLECLK旗標呼叫 GetSystemMetrics

SPI_SETGESTUREVISUALIZATION
0x201B
設定目前的手勢視覺效果設定。 pvParam 參數必須指向識別設定的ULONG變數。 如需詳細資訊,請參閱 手勢視覺效果
注意 如果停用聯繫人視覺效果,則無法啟用手勢視覺效果。
 
SPI_SETKEYBOARDCUES
0x100B
設定功能表存取鍵字母的底線。 pvParam 參數是BOOL變數。 將 pvParam 設定為 TRUE 以一律加底線功能表存取鍵,或 FALSE 設定為只有在從鍵盤啟動功能表時,才會加上功能表存取鍵的底線。
SPI_SETKEYBOARDDELAY
0x0017
設定鍵盤重複延遲設定。 uiParam 參數必須指定 0、1、2 或 3,其中零會設定大約 250 毫秒的最短延遲) ,而 3 會設定大約 1 秒的延遲時間 (大約 1 秒) 。 與每個值相關聯的實際延遲可能會因硬體而異。
SPI_SETKEYBOARDPREF
0x0045
設定鍵盤喜好設定。 uiParam 參數會指定 TRUE,如果使用者依賴鍵盤而非滑鼠,而且希望應用程式顯示會隱藏的鍵盤介面;uiParamFALSE,否則為 FALSE。
SPI_SETKEYBOARDSPEED
0x000B
設定鍵盤重複速度設定。 uiParam 參數必須指定介於 0 (大約每秒 2.5 次重複) 到每秒 31 (大約 30 次重複) 的值。 實際重複率與硬體相依,且可能會隨著線性刻度而有所不同,最多可達 20%。 如果 uiParam 大於 31,參數會設定為 31。
SPI_SETLANGTOGGLE
0x005B
設定在輸入語言之間切換的熱鍵集。 不會使用 uiParampvParam 參數。 值會再次讀取登錄,以設定鍵盤屬性表中的快速鍵。 在使用此旗標之前,必須先設定登錄。 登錄中的路徑 為 HKEY_CURRENT_USER\Keyboard Layout\Toggle

. 有效值為 “1” = ALT+SHIFT、“2” = CTRL+SHIFT 和 “3” = none。
SPI_SETMOUSE
0x0004
設定兩個滑鼠閾值和滑鼠加速。 pvParam 參數必須指向三個指定這些值的整數數位列。 如需詳細資訊 ,請參閱mouse_event
SPI_SETMOUSEBUTTONSWAP
0x0021
交換或還原滑鼠左鍵和右鍵的意義。 uiParam 參數會指定 TRUE 來交換按鈕的意義,或 FALSE 來還原其原始意義。

若要擷取目前的設定,請使用 SM_SWAPBUTTON 旗標呼叫 GetSystemMetrics

SPI_SETMOUSEHOVERHEIGHT
0x0065
設定滑鼠指標必須保留的矩形高度,以像素為單位, 讓 TrackMouseEvent 產生 WM_MOUSEHOVER 訊息。 將 uiParam 參數設定為新的高度。
SPI_SETMOUSEHOVERTIME
0x0067
設定滑鼠指標必須停留在 TrackMouseEvent 的暫留矩形中,以毫秒為單位來產生 WM_MOUSEHOVER 訊息。 只有當您在對 TrackMouseEvent 的呼叫中傳遞 dwHoverTime 參數中的 HOVER_DEFAULT時,才會使用此參數。 將 uiParam 參數設定為新時間。

指定的時間應該介於 USER_TIMER_MAXIMUMUSER_TIMER_MINIMUM 之間。 如果 uiParam 小於 USER_TIMER_MINIMUM,函式將會使用 USER_TIMER_MINIMUM。 如果 uiParam 大於 USER_TIMER_MAXIMUM,函式將會 USER_TIMER_MAXIMUM

Windows Server 2003 和 Windows XP: 在 Windows Server 2003 SP1 和 Windows XP 搭配 SP2 之前,操作系統不會強制使用 USER_TIMER_MAXIMUMUSER_TIMER_MINIMUM

SPI_SETMOUSEHOVERWIDTH
0x0063
設定滑鼠指標必須保留的矩形寬度,以像素為單位, 讓 TrackMouseEvent 產生 WM_MOUSEHOVER 訊息。 將 uiParam 參數設定為新的寬度。
SPI_SETMOUSESPEED
0x0071
設定目前的滑鼠速度。 pvParam 參數是介於 1 (最慢) 和 20 (最快) 之間的整數。 預設值為 10。 此值通常會使用滑鼠控制面板應用程式來設定。
SPI_SETMOUSETRAILS
0x005D
啟用或停用滑鼠追蹤功能,藉由簡短顯示游標的尾端並快速清除游標,來改善滑鼠游標移動的可見性。

若要停用此功能,請將 uiParam 參數設定為零或 1。 若要啟用此功能,請將 uiParam 設定為大於 1 的值,以指出在尾端繪製的數據指標數目。

Windows 2000: 不支援此參數。

SPI_SETMOUSEWHEELROUTING
0x201D
設定滑鼠滾輪輸入的路由設定。 路由設定會決定滑鼠滾輪輸入是否傳送至具有焦點 (前景) 或滑鼠游標下方的應用程式。

pvParam 參數必須指向接收路由選項的 DWORD 變數。 將 uiParam 參數設定為零。

如果值為零 (MOUSEWHEEL_ROUTING_FOCUS) ,滑鼠滾輪輸入會傳遞至具有焦點的應用程式。 如果值為 1 (MOUSEWHEEL_ROUTING_HYBRID) ,滑鼠滾輪輸入會傳遞至應用程式,並將焦點 (傳統型應用程式) 或滑鼠指標底下的 app (Windows 市集應用程式) 。

從 Windows 10 開始: 如果值為 2 (MOUSEWHEEL_ROUTING_MOUSE_POS) ,滑鼠滾輪輸入會傳遞至滑鼠指標下的應用程式。 這是新的預設值,且 [設定] 中已不再提供MOUSEWHEEL_ROUTING_HYBRID。

SPI_SETPENVISUALIZATION
0x201F
設定目前的畫筆手勢視覺效果設定。 pvParam 參數必須指向識別設定的ULONG變數。 如需詳細資訊,請參閱 畫筆視覺效果
SPI_SETSNAPTODEFBUTTON
0x0060
啟用或停用嵌入式管理單元預設按鈕功能。 如果啟用,滑鼠游標會自動移至對話框的預設按鈕,例如 [確定 ] 或 [ 套用]。 將 uiParam 參數設定為 TRUE 以啟用功能,或 將 FALSE 設定為停用此功能。 應用程式應該在顯示對話框時使用 ShowWindow 函式,讓對話框管理員可以放置滑鼠游標。
SPI_SETSYSTEMLANGUAGEBAR
0x1051
從 Windows 8 開始: 開啟或關閉舊版語言列功能。 pvParam 參數是BOOL變數的指標。 將 pvParam 設定為 TRUE 以啟用舊版語言列,或 將它停用 FALSE 。 Windows 8 支援旗標,其中舊版語言列會由輸入切換器取代,因此預設會關閉。 基於相容性考慮而開啟舊版語言列,且不會影響輸入切換器。
SPI_SETTHREADLOCALINPUTSETTINGS
0x104F
從 Windows 8 開始: 判斷作用中的輸入設定是否有本機 (個別線程、 TRUE) 或全域 (會話、 FALSE) 範圍。 pvParam 參數必須是由 PVOID 轉換的 BOOL 變數。
SPI_SETTOUCHPADPARAMETERS
0x00AF
從 Windows 11 版本 24H2 開始: 設定精確度觸控板的詳細數據,包括與觸控板相關的使用者設定和系統資訊。

pvParam 參數必須指向TOUCHPAD_PARAMETERS結構。

uiParam 參數必須指定 結構的大小。

TOUCHPAD_PARAMETERS 結構中 versionNumber 欄位的值必須設定為所使用結構版本的適當值。

SPI_SETWHEELSCROLLCHARS
0x006D
設定移動水平滑鼠滾輪時要捲動的字元數。 從 uiParam 參數設定字元數。
SPI_SETWHEELSCROLLLINES
0x0069
設定移動垂直滑鼠滾輪時要捲動的行數。 從 uiParam 參數設定行數。

行數是滾動滑鼠滾輪而不使用修飾詞鍵時,要捲動的建議行數。 如果數位為 0,則不應該發生任何捲動。 如果卷動的行數大於可檢視的行數,特別是當 WHEEL_PAGESCROLL (#defined 為 UINT_MAX) 時,卷動作業應該解譯為在滾動條頁面向下或頁面向上區域中單擊一次。

 

以下是功能表參數。

功能表參數 意義
SPI_GETMENUDROPALIGNMENT
0x001B
判斷快顯功能表是靠左對齊還是靠右對齊,相對於對應的功能表欄專案。 pvParam 參數必須指向在靠右對齊時接收 TRUEBOOL 變數,否則為 FALSE
SPI_GETMENUFADE
0x1012
判斷是否啟用功能表淡出動畫。 pvParam 參數必須指向BOOL變數,該變數會在啟用淡出動畫時接收TRUE,並在停用時收到FALSE。 如果停用淡出動畫,功能表會使用投影片動畫。 除非已啟用功能表動畫,否則會忽略此旗標,您可以使用 SPI_SETMENUANIMATION 旗標來執行此動作。 如需詳細資訊,請參閱 AnimateWindow
SPI_GETMENUSHOWDELAY
0x006A
擷取當滑鼠游標位於子功能表專案上方時,系統會在顯示快捷方式功能表之前等待的時間。 pvParam 參數必須指向接收延遲時間的 DWORD 變數。
SPI_SETMENUDROPALIGNMENT
0x001C
設定快捷功能表的對齊值。 uiParam 參數會針對右對齊指定 TRUE,或為左對齊指定 FALSE
SPI_SETMENUFADE
0x1013
啟用或停用功能表淡出動畫。 將 pvParam 設定為 TRUE ,讓功能表淡出效果或 FALSE 停用它。 如果停用淡出動畫,功能表會使用投影片動畫。 只有在系統具有超過 256 種色彩的色彩深度時,才會有功能表淡出效果。 除非也設定 SPI_MENUANIMATION ,否則會忽略此旗標。 如需詳細資訊,請參閱 AnimateWindow
SPI_SETMENUSHOWDELAY
0x006B
uiParam 設定為時間,以毫秒為單位,當滑鼠游標位於子功能表專案上方時,系統會在顯示快捷方式功能表之前等候。
 

以下是電源參數。

從 Windows Server 2008 和 Windows Vista 開始,不支援這些電源參數。 相反地,若要判斷目前的顯示電源狀態,應用程式應該註冊 GUID_MONITOR_POWER_STATE 通知。 若要判斷目前的顯示器電源關閉逾時,應用程式應該註冊通知 GUID_VIDEO_POWERDOWN_TIMEOUT 電源設定的變更。 如需詳細資訊,請參閱 註冊 Power Events

Windows Server 2003 和 Windows XP/2000: 若要判斷目前的顯示電源狀態,請使用下列電源參數。

Power 參數 意義
SPI_GETLOWPOWERACTIVE
0x0053
不支援此參數。

Windows Server 2003 和 Windows XP/2000: 判斷是否啟用螢幕節省的低電源階段。 pvParam 參數必須指向在啟用時接收 TRUEBOOL 變數,如果停用則為 FALSE。 只有 32 位應用程式才支援此旗標。

SPI_GETLOWPOWERTIMEOUT
0x004F
不支援此參數。

Windows Server 2003 和 Windows XP/2000: 擷取螢幕節省的低電源階段逾時值。 pvParam 參數必須指向接收值的整數變數。 只有 32 位應用程式才支援此旗標。

SPI_GETPOWEROFFACTIVE
0x0054
不支援此參數。 啟用螢幕節省電源階段時, GUID_VIDEO_POWERDOWN_TIMEOUT 電源設定大於零。

Windows Server 2003 和 Windows XP/2000: 判斷是否啟用螢幕節省電源階段。 pvParam 參數必須指向在啟用時接收 TRUEBOOL 變數,如果停用則為 FALSE。 只有 32 位應用程式才支援此旗標。

SPI_GETPOWEROFFTIMEOUT
0x0050
不支援此參數。 請改為檢查 GUID_VIDEO_POWERDOWN_TIMEOUT 電源設定。

Windows Server 2003 和 Windows XP/2000: 擷取螢幕節省電源階段的逾時值。 pvParam 參數必須指向接收值的整數變數。 只有 32 位應用程式才支援此旗標。

SPI_SETLOWPOWERACTIVE
0x0055
不支援此參數。

Windows Server 2003 和 Windows XP/2000: 啟用或停用螢幕節省的低電源階段。 將 uiParam 設定為 1 以啟動,或將零設為停用。 pvParam 參數必須是 NULL。 只有 32 位應用程式才支援此旗標。

SPI_SETLOWPOWERTIMEOUT
0x0051
不支援此參數。

Windows Server 2003 和 Windows XP/2000: 設定螢幕節省的低電量階段逾時值,以秒為單位。 uiParam 參數會指定新的值。 pvParam 參數必須是 NULL。 只有 32 位應用程式才支援此旗標。

SPI_SETPOWEROFFACTIVE
0x0056
不支援此參數。 請改為設定 GUID_VIDEO_POWERDOWN_TIMEOUT 電源設定。

Windows Server 2003 和 Windows XP/2000: 啟動或停用螢幕節省的電源關閉階段。 將 uiParam 設定為 1 以啟動,或將零設為停用。 pvParam 參數必須是 NULL。 只有 32 位應用程式才支援此旗標。

SPI_SETPOWEROFFTIMEOUT
0x0052
不支援此參數。 相反地,請將 GUID_VIDEO_POWERDOWN_TIMEOUT 電源設定設定為逾時值。

Windows Server 2003 和 Windows XP/2000: 設定螢幕省電階段的逾時值,以秒為單位。 uiParam 參數會指定新的值。 pvParam 參數必須是 NULL。 只有 32 位應用程式才支援此旗標。

 

以下是螢幕保護參數。

屏幕保護參數 意義
SPI_GETSCREENSAVEACTIVE
0x0010
判斷是否啟用螢幕儲存。 pvParam 參數必須指向BOOL變數,如果啟用螢幕儲存,則為TRUE,否則為 FALSE

Windows 7、Windows Server 2008 R2 和 Windows 2000: 即使未啟用螢幕儲存,函式仍會傳回 TRUE

SPI_GETSCREENSAVERRUNNING
0x0072
判斷螢幕保護程式目前是否正在呼叫進程的視窗站臺上執行。 pvParam 參數必須指向BOOL變數,如果螢幕保護程式目前正在執行,則為TRUE,否則為 FALSE。 請注意,只有互動式視窗月臺 WinSta0 可以執行螢幕保護程式。
SPI_GETSCREENSAVESECURE
0x0076
判斷螢幕保護程式是否需要密碼才能顯示 Windows 桌面。 pvParam 參數必須指向BOOL變數,如果螢幕保護程式需要密碼,則為TRUE,否則為 FALSE忽略 uiParam 參數。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETSCREENSAVETIMEOUT
0x000E
擷取螢幕保護逾時值,以秒為單位。 pvParam 參數必須指向接收值的整數變數。
SPI_SETSCREENSAVEACTIVE
0x0011
設定螢幕保護程序的狀態。 uiParam 參數會指定 TRUE 來啟動螢幕儲存,或指定 FALSE 加以停用。

如果計算機進入省電模式或系統鎖定狀態,就會發生ERROR_OPERATION_IN_PROGRESS例外狀況。

SPI_SETSCREENSAVESECURE
0x0077
設定螢幕保護程式是否需要使用者輸入密碼才能顯示 Windows 桌面。 uiParam 參數是BOOL變數。 pvParam 參數會被忽略。 將 uiParam 設定為 TRUE 以要求密碼,或 將 FALSE 設定為不需要密碼。

如果計算機進入省電模式或系統鎖定狀態,就會發生ERROR_OPERATION_IN_PROGRESS例外狀況。

Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETSCREENSAVETIMEOUT
0x000F
將屏幕保護程式逾時值設定為 uiParam 參數的值。 此值是系統在螢幕保護程序啟動之前必須閑置的時間量,以秒為單位。

如果計算機進入省電模式或系統鎖定狀態,就會發生ERROR_OPERATION_IN_PROGRESS例外狀況。

 

以下是應用程式和服務的逾時參數。

逾時參數 意義
SPI_GETHUNGAPPTIMEOUT
0x0078
擷取線程可以在系統認為訊息沒有回應之前,不分派訊息的毫秒數。 pvParam 參數必須指向接收值的整數變數。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETWAITTOKILLTIMEOUT
0x007A
擷取系統在終止未回應關機要求的應用程式之前等候的毫秒數。 pvParam 參數必須指向接收值的整數變數。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETWAITTOKILLSERVICETIMEOUT
0x007C
擷取服務控制管理員在終止未回應關機要求的服務之前所等候的毫秒數。 pvParam 參數必須指向接收值的整數變數。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETHUNGAPPTIMEOUT
0x0079
將無回應的應用程式逾時設定為 uiParam 參數的值。 此值是線程可以在系統認為訊息沒有回應之前,不分派訊息的毫秒數。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETWAITTOKILLTIMEOUT
0x007B
將應用程式關機要求逾時設定為 uiParam 參數的值。 此值是系統在終止未回應關機要求的應用程式之前等候的毫秒數。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETWAITTOKILLSERVICETIMEOUT
0x007D
將服務關機要求逾時設定為 uiParam 參數的值。 此值是系統在終止未回應關機要求的服務之前等候的毫秒數。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

 

以下是UI效果。 SPI_SETUIEFFECTS值可用來一次啟用或停用所有UI效果。 下表包含UI效果值的完整清單。

UI 效果參數 意義
SPI_GETCOMBOBOXANIMATION
0x1004
判斷是否啟用下拉式方塊的投影片開啟效果。 pvParam 參數必須指向BOOL變數,該變數會收到已啟用的TRUE,或停用的FALSE
SPI_GETCURSORSHADOW
0x101A
判斷游標周圍是否有陰影。 pvParam 參數必須指向BOOL變數,如果已啟用陰影,則為 FALSE。 只有當系統色彩深度超過 256 種色彩時,才會顯示此效果。
SPI_GETGRADIENTCAPTIONS
0x1008
判斷是否啟用視窗標題列的漸層效果。 pvParam 參數必須指向BOOL變數,該變數會收到已啟用的TRUE,或停用的FALSE。 如需漸層效果的詳細資訊,請參閱 GetSysColor 函 式。
SPI_GETHOTTRACKING
0x100E
判斷是否啟用使用者介面元素的熱追蹤,例如功能表欄上的功能表名稱。 pvParam 參數必須指向BOOL變數,該變數會收到已啟用的TRUE,或停用的FALSE

熱追蹤表示當游標移至專案上方時,會反白顯示,但未選取。 您可以查詢此值,以決定是否要在應用程式的使用者介面中使用熱追蹤。

SPI_GETLISTBOXSMOOTHSCROLLING
0x1006
判斷是否啟用清單框的平滑捲動效果。 pvParam 參數必須指向BOOL變數,該變數會收到已啟用的TRUE,或停用的FALSE
SPI_GETMENUANIMATION
0x1002
判斷功能表動畫功能是否已啟用。 這個主要參數必須開啟,才能啟用功能表動畫效果。 pvParam 參數必須指向BOOL變數,如果已啟用動畫,則會接收TRUE,如果停用則為FALSE

如果啟用動畫, SPI_GETMENUFADE 會指出功能表是否使用淡化或投影片動畫。

SPI_GETMENUUNDERLINES
0x100A
SPI_GETKEYBOARDCUES相同。
SPI_GETSELECTIONFADE
0x1014
判斷是否啟用選取範圍淡化效果。 pvParam 參數必須指向BOOL變數,如果已啟用則為TRUE,如果停用則為 FALSE

選取淡出效果會導致用戶選取的功能表項在關閉功能表後短暫停留在螢幕上。

SPI_GETTOOLTIPANIMATION
0x1016
判斷工具提示動畫是否已啟用。 pvParam 參數必須指向BOOL變數,如果已啟用則為TRUE,如果停用則為 FALSE。 如果已啟用 ToolTip 動畫, SPI_GETTOOLTIPFADE 指出工具提示是否使用淡出或投影片動畫。
SPI_GETTOOLTIPFADE
0x1018
如果啟用SPI_SETTOOLTIPANIMATION,SPI_GETTOOLTIPFADE會指出工具提示動畫使用淡出效果或投影片效果。 pvParam 參數必須指向BOOL變數,以接收淡出動畫的TRUE或投影片動畫的 FALSE。 如需投影片和淡化效果的詳細資訊,請參閱 AnimateWindow
SPI_GETUIEFFECTS
0x103E
判斷UI效果是啟用還是停用。 pvParam 參數必須指向 BOOL 變數,如果已啟用所有 UI 效果,則為 TRUE,如果停用則為 FALSE
SPI_SETCOMBOBOXANIMATION
0x1005
啟用或停用下拉式方塊的投影片開啟效果。 將 pvParam 參數設定為 TRUE 以啟用漸層效果,或將 FALSE 設為停用。
SPI_SETCURSORSHADOW
0x101B
啟用或停用游標周圍的陰影。 pvParam 參數是BOOL變數。 將 pvParam 設定為 TRUE ,讓陰影或 FALSE 停用陰影。 只有當系統色彩深度超過 256 種色彩時,才會顯示此效果。
SPI_SETGRADIENTCAPTIONS
0x1009
啟用或停用視窗標題列的漸層效果。 將 pvParam 參數設定為 TRUE 以啟用它,或 將 FALSE 設定為停用它。 只有當系統的色彩深度超過 256 種色彩時,才能使用漸層效果。 如需漸層效果的詳細資訊,請參閱 GetSysColor 函 式。
SPI_SETHOTTRACKING
0x100F
啟用或停用使用者介面元素的熱追蹤,例如功能表欄上的功能表名稱。 將 pvParam 參數設定為 TRUE 以啟用它,或 將 FALSE 設定為停用它。

熱追蹤表示當游標移至專案上方時,它會反白顯示,但未選取。

SPI_SETLISTBOXSMOOTHSCROLLING
0x1007
啟用或停用清單框的平滑捲動效果。 將 pvParam 參數設定為 TRUE ,以啟用平滑捲動效果,或 將 FALSE 停用。
SPI_SETMENUANIMATION
0x1003
啟用或停用功能表動畫。 此主圖形參數必須開啟,才能發生任何功能表動畫。 pvParam 參數是 BOOL 變數;將 pvParam 設定為 TRUE 以啟用動畫,並將 FALSE 設定為停用動畫。

如果啟用動畫, SPI_GETMENUFADE 會指出功能表是否使用淡化或投影片動畫。

SPI_SETMENUUNDERLINES
0x100B
SPI_SETKEYBOARDCUES相同。
SPI_SETSELECTIONFADE
0x1015
pvParam 設定為 TRUE ,以啟用選取淡出效果或 FALSE 加以停用。

選取淡出效果會導致用戶選取的功能表項在關閉功能表後短暫停留在螢幕上。 只有在系統色彩深度超過 256 種色彩時,才能使用選取淡出效果。

SPI_SETTOOLTIPANIMATION
0x1017
pvParam 設定為 TRUE 以啟用 ToolTip 動畫或 FALSE 加以停用。 如果啟用,您可以使用 SPI_SETTOOLTIPFADE 來指定淡出或投影片動畫。
SPI_SETTOOLTIPFADE
0x1019
如果已啟用 SPI_SETTOOLTIPANIMATION 旗標,請使用 SPI_SETTOOLTIPFADE 來指出ToolTip動畫是否使用淡入效果或投影片效果。 將 pvParam 設定為 TRUE 表示淡出動畫,或將投影片動畫設定為 FALSE 。 只有在系統色彩深度超過 256 種時,才能使用工具提示淡出效果。 如需投影片和淡化效果的詳細資訊,請參閱 AnimateWindow 函式。
SPI_SETUIEFFECTS
0x103F
啟用或停用UI效果。 將 pvParam 參數設定為 TRUE ,讓所有 UI 效果或 FALSE 停用所有 UI 效果。
 

以下是窗口參數。

Window 參數 意義
SPI_GETACTIVEWINDOWTRACKING
0x1000
判斷使用中視窗追蹤 (啟動滑鼠所在的視窗) 開啟或關閉。 pvParam 參數必須指向BOOL變數,以針對 on 接收 TRUEFALSE 表示關閉。
SPI_GETACTIVEWNDTRKZORDER
0x100C
判斷是否將透過活動窗口追蹤啟動的視窗帶至頂端。 pvParam 參數必須指向BOOL變數,以針對 on 接收 TRUEFALSE 表示關閉。
SPI_GETACTIVEWNDTRKTIMEOUT
0x2002
擷取活動窗口追蹤延遲,以毫秒為單位。 pvParam 參數必須指向接收時間的 DWORD 變數。
SPI_GETANIMATION
0x0048
擷取與用戶動作相關聯的動畫效果。 pvParam 參數必須指向接收資訊的 ANIMATIONINFO 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(ANIMATIONINFO)
SPI_GETBORDER
0x0005
擷取框線乘數因數,決定視窗重設大小框線的寬度。 pvParam 參數必須指向接收此值的整數變數。
SPI_GETCARETWIDTH
0x2006
擷取編輯控件中的插入號寬度,以像素為單位。 pvParam 參數必須指向接收此值的 DWORD 變數。
SPI_GETDOCKMOVING
0x0090
判斷視窗在移至監視器或監視器陣列的上邊緣、左邊緣或右邊緣時,是否停駐。 pvParam 參數必須指向BOOL變數,如果啟用則為TRUE,否則為 FALSE

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETDRAGFROMMAXIMIZE
0x008C
判斷拖曳標題列時,是否還原最大化的視窗。 pvParam 參數必須指向BOOL變數,如果啟用則為TRUE,否則為 FALSE

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETDRAGFULLWINDOWS
0x0026
判斷是否啟用拖曳完整視窗。 pvParam 參數必須指向BOOL變數,如果啟用則為TRUE,否則為 FALSE
SPI_GETFOREGROUNDFLASHCOUNT
0x2004
擷取 SetForegroundWindow 在拒絕前景切換要求時,會閃爍任務欄按鈕的次數。 pvParam 參數必須指向接收值的 DWORD 變數。
SPI_GETFOREGROUNDLOCKTIMEOUT
0x2000
擷取使用者輸入之後的時間量,以毫秒為單位,在此期間,系統不允許應用程式自行強制進入前景。 pvParam 參數必須指向接收時間的 DWORD 變數。
SPI_GETMINIMIZEDMETRICS
0x002B
擷取與最小化窗口相關聯的計量。 pvParam 參數必須指向接收資訊的 MINIMIZEDMETRICS 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(MINIMIZEDMETRICS)
SPI_GETMOUSEDOCKTHRESHOLD
0x007E
使用滑鼠將視窗拖曳到監視器或監視器陣列邊緣,以像素為單位擷取停駐行為的臨界值。 默認閾值為1。 pvParam 參數必須指向接收值的 DWORD 變數。

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETMOUSEDRAGOUTTHRESHOLD
0x0084
擷取以像素為單位的臨界值,其中會使用滑鼠將視窗從監視器邊緣或監視器陣列拖曳到中央。 默認閾值為20。

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETMOUSESIDEMOVETHRESHOLD
0x0088
從監視器頂端擷取以圖元為單位的臨界值,或在使用滑鼠拖曳時還原垂直最大化視窗的監視數位。 默認閾值為 50。

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETNONCLIENTMETRICS
0x0029
擷取與非最小化視窗之非工作區相關聯的度量。 pvParam 參數必須指向接收資訊的 NONCLIENTMETRICS 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(NONCLIENTMETRICS)

Windows Server 2003 和 Windows XP/2000: 請參閱 NONCLIENTMETRICS 的

SPI_GETPENDOCKTHRESHOLD
0x0080
使用畫筆將視窗拖曳到監視或監視數位邊緣,擷取以像素為單位觸發停駐行為的臨界值。 預設值是 30。

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETPENDRAGOUTTHRESHOLD
0x0086
擷取以像素為單位的臨界值,其中使用畫筆將視窗從監視器或監視器陣列的邊緣拖曳到其中央。 默認閾值為30。

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETPENSIDEMOVETHRESHOLD
0x008A
從監視器或監視器陣列頂端擷取以像素為單位的臨界值,其中垂直最大化視窗會在使用滑鼠拖曳時還原。 默認閾值為 50。

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETSHOWIMEUI
0x006E
判斷輸入法狀態視窗是否為依使用者) (可見。 pvParam 參數必須指向BOOL變數,如果狀態視窗為可見,則為TRUE,否則為 FALSE
SPI_GETSNAPSIZING
0x008E
判斷視窗在調整為監視器或監視器數位的頂端或底部時,是否垂直最大化。 pvParam 參數必須指向BOOL變數,如果啟用則為TRUE,否則為 FALSE

使用 SPI_GETWINARRANGING 來判斷是否啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_GETWINARRANGING
0x0082
判斷是否啟用窗口排列。 pvParam 參數必須指向BOOL變數,如果啟用則為TRUE,否則為 FALSE

視窗排列方式可簡化拖曳或重設大小視窗時視窗的預設行為,以減少移動和調整最上層視窗大小所需的滑鼠、手寫筆或觸控互動數目。

下列參數會擷取個別視窗排列設定:

SPI_GETDOCKMOVING
SPI_GETMOUSEDOCKTHRESHOLD
SPI_GETMOUSEDRAGOUTTHRESHOLD
SPI_GETMOUSESIDEMOVETHRESHOLD
SPI_GETPENDOCKTHRESHOLD
SPI_GETPENDRAGOUTTHRESHOLD
SPI_GETPENSIDEMOVETHRESHOLD
SPI_GETSNAPSIZING
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。
SPI_SETACTIVEWINDOWTRACKING
0x1001
設定活動窗口追蹤, (啟動滑鼠開啟的視窗,) 開啟或關閉。 針對 [開啟] 將 pvParam 設定為 TRUE ,或將 [FALSE ] 設定為 [關閉]。
SPI_SETACTIVEWNDTRKZORDER
0x100D
判斷是否應該將透過活動窗口追蹤啟動的視窗帶到頂端。 針對 [開啟] 將 pvParam 設定為 TRUE ,或將 [FALSE ] 設定為 [關閉]。
SPI_SETACTIVEWNDTRKTIMEOUT
0x2003
設定活動窗口追蹤延遲。 將 pvParam 設定為在啟動滑鼠指標下視窗之前延遲的毫秒數。
SPI_SETANIMATION
0x0049
設定與用戶動作相關聯的動畫效果。 pvParam 參數必須指向包含新參數的 ANIMATIONINFO 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(ANIMATIONINFO)
SPI_SETBORDER
0x0006
設定框線乘數因數,決定視窗重設大小框線的寬度。 uiParam 參數會指定新的值。
SPI_SETCARETWIDTH
0x2007
設定編輯控制件中的插入號寬度。 將 pvParam 設定為所需的寬度,以像素為單位。 預設值和最小值為1。
SPI_SETDOCKMOVING
0x0091
設定當視窗移至監視器或監視器數位上的頂端、左或右停駐目標時,視窗是否停駐。 針對 [開啟] 將 pvParam 設定為 TRUE ,或將 [FALSE ] 設定為 [關閉]。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETDRAGFROMMAXIMIZE
0x008D
設定拖曳標題列時,是否還原最大化的視窗。 針對 [開啟] 將 pvParam 設定為 TRUE ,或將 [FALSE ] 設定為 [關閉]。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETDRAGFULLWINDOWS
0x0025
設定開啟或關閉完整視窗的拖曳。 uiParam 參數會針對 on 指定 TRUE,或針對 off 指定 FALSE
SPI_SETDRAGHEIGHT
0x004D
設定用來偵測拖曳作業開始之矩形的高度,以像素為單位。 將 uiParam 設定為新的值。 若要擷取拖曳高度,請使用 SM_CYDRAG 旗標呼叫 GetSystemMetrics
SPI_SETDRAGWIDTH
0x004C
設定用來偵測拖曳作業開始之矩形的寬度,以像素為單位。 將 uiParam 設定為新的值。 若要擷取拖曳寬度,請使用 SM_CXDRAG 旗標呼叫 GetSystemMetrics
SPI_SETFOREGROUNDFLASHCOUNT
0x2005
設定 SetForegroundWindow 在拒絕前景切換要求時,會閃爍任務欄按鈕的次數。 將 pvParam 設定為快閃的次數。
SPI_SETFOREGROUNDLOCKTIMEOUT
0x2001
設定使用者輸入之後的時間量,以毫秒為單位,在此期間,系統不允許應用程式自行強制進入前景。 將 pvParam 設定為新的逾時值。

呼叫線程必須能夠變更前景視窗,否則呼叫會失敗。

SPI_SETMINIMIZEDMETRICS
0x002C
設定與最小化視窗相關聯的計量。 pvParam 參數必須指向包含新參數的MINIMIZEDMETRICS結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(MINIMIZEDMETRICS)
SPI_SETMOUSEDOCKTHRESHOLD
0x007F
使用滑鼠將視窗拖曳到監視或監視數位邊緣,以像素為單位設定停駐行為的臨界值。 默認閾值為1。 pvParam 參數必須指向包含新值的 DWORD 變數。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETMOUSEDRAGOUTTHRESHOLD
0x0085
使用滑鼠將視窗從監視器或監視器陣列的中央拖曳至其中心,以像素為單位來設定觸發取消模擬行為的臨界值。 默認閾值為20。 pvParam 參數必須指向包含新值的 DWORD 變數。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETMOUSESIDEMOVETHRESHOLD
0x0089
使用滑鼠拖曳時,會以像素為單位,從監視器頂端設定垂直最大化視窗還原的臨界值。 默認閾值為 50。 pvParam 參數必須指向包含新值的 DWORD 變數。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETNONCLIENTMETRICS
0x002A
設定與非最小化視窗之非工作區相關聯的計量。 pvParam 參數必須指向包含新參數的 NONCLIENTMETRICS 結構。 將這個 結構的 cbSize 成員與 uiParam 參數設定為 sizeof(NONCLIENTMETRICS)。 此外,LOGFONT 結構的 lfHeight 成員必須是負值。
SPI_SETPENDOCKTHRESHOLD
0x0081
使用畫筆將視窗拖曳到監視器或監視器陣列邊緣,以像素為單位設定停駐行為觸發的臨界值。 默認閾值為30。 pvParam 參數必須指向包含新值的 DWORD 變數。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETPENDRAGOUTTHRESHOLD
0x0087
使用畫筆將視窗從監視器或監視器陣列的中央拖曳至其中心,以像素為單位來設定閾值。 默認閾值為30。 pvParam 參數必須指向包含新值的 DWORD 變數。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETPENSIDEMOVETHRESHOLD
0x008B
使用畫筆拖曳時,會以像素為單位,從監視器頂端設定垂直最大化視窗還原的臨界值。 默認閾值為 50。 pvParam 參數必須指向包含新值的 DWORD 變數。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETSHOWIMEUI
0x006F
設定輸入法狀態視窗是否以每個用戶為基礎顯示。 uiParam 參數針對 on 指定 TRUE,或針對 off 指定 FALSE
SPI_SETSNAPSIZING
0x008F
設定視窗在調整為監視器頂端或底部的大小時,是否垂直最大化。 針對 [開啟] 將 pvParam 設定為 TRUE ,或將 [FALSE ] 設定為 [關閉]。

SPI_GETWINARRANGING 必須為 TRUE ,才能啟用此行為。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

SPI_SETWINARRANGING
0x0083
設定是否啟用窗口排列。 針對 [開啟] 將 pvParam 設定為 TRUE ,或將 [FALSE ] 設定為 [關閉]。

視窗排列方式可簡化拖曳或重設大小視窗時視窗的預設行為,以減少移動和調整最上層視窗大小所需的滑鼠、手寫筆或觸控互動數目。

下列參數會設定個別視窗排列設定:

SPI_SETDOCKMOVING
SPI_SETMOUSEDOCKTHRESHOLD
SPI_SETMOUSEDRAGOUTTHRESHOLD
SPI_SETMOUSESIDEMOVETHRESHOLD
SPI_SETPENDOCKTHRESHOLD
SPI_SETPENDRAGOUTTHRESHOLD
SPI_SETPENSIDEMOVETHRESHOLD
SPI_SETSNAPSIZING
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP/2000: 不支援此參數。

[in] uiParam

類型: UINT

其使用方式和格式取決於所查詢或設定的系統參數。 如需全系統參數的詳細資訊,請參閱 uiAction 參數。 如果未指定,您必須為此參數指定零。

[in, out] pvParam

類型: PVOID

其使用方式和格式取決於所查詢或設定的系統參數。 如需全系統參數的詳細資訊,請參閱 uiAction 參數。 如果未指定,您必須為此參數指定 NULL 。 如需 PVOID 資料類型的資訊,請參閱 Windows 資料類型

[in] fWinIni

類型: UINT

如果要設定系統參數,請指定是否要更新使用者配置檔,如果是的話,是否要將 WM_SETTINGCHANGE 訊息廣播到所有最上層視窗,以通知他們變更。

如果您不想更新使用者配置檔或廣播 WM_SETTINGCHANGE 訊息,或者它可以是下列一或多個值,這個參數可以是零。

意義
SPIF_UPDATEINIFILE
將新的全系統參數設定寫入使用者配置檔。
SPIF_SENDCHANGE
更新使用者配置檔之後,廣播 WM_SETTINGCHANGE 訊息。
SPIF_SENDWININICHANGE
SPIF_SENDCHANGE相同。

傳回值

類型: BOOL

如果函式成功,則傳回值是非零值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

此函式適用於可讓使用者自定義環境的應用程式。

鍵盤配置名稱應該衍生自對應至配置之語言標識碼的十六進位值。 例如,美式英文的語言標識碼為 0x0409,因此主要美式英文版面配置的名稱為 「00000409」。。 美式英文版面配置的變化,例如 Dvorak 版面配置,名為 「00010409」、“00020409” 等等。 如需組成語言標識碼的主要語言標識碼和子語言標識符清單,請參閱 MAKELANGID 宏。

高對比度色彩配置與高對比度模式之間有差異。 高對比度色彩配置會將系統色彩變更為具有明顯對比的色彩;您可以使用控制面板中的 [顯示選項] 切換至此色彩設定。 使用 SPI_GETHIGHCONTRASTSPI_SETHIGHCONTRAST的高對比度模式會建議應用程式修改其外觀,以供視覺受損的使用者使用。 它牽涉到使用控制面板) 中的輔助功能選項 (使用者和自訂色彩配置等專案。 如需詳細資訊,請參閱 HIGHCONTRAST。 如需一般輔助功能功能的詳細資訊,請參閱 輔助功能

在按住主要按鈕以啟動 Mouse ClickLock 功能期間,用戶可以移動滑鼠。 鎖定主要按鈕之後,釋放主要按鈕並不會產生 WM_LBUTTONUP 訊息。 因此,它會出現在主要按鈕仍在關閉的應用程式。 任何後續的按鈕訊息都會釋放主要按鈕,將 WM_LBUTTONUP 訊息傳送至應用程式,因此可以透過程式設計方式或透過使用者按兩下任何按鈕來解除鎖定按鈕。

此 API 無法感知 DPI,如果呼叫線程是個別監視器 DPI 感知,則不應該使用。 如需此 API 的 DPI 感知版本,請參閱 SystemParametersInfoForDPI。 如需 DPI 感知的詳細資訊,請參閱 Windows High DPI 檔。

範例

下列範例使用 SystemParametersInfo 將滑鼠速度加倍。


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

void main()  
{     
    BOOL fResult;
    int aMouseInfo[3];    // Array for mouse information
    
    // Get the current mouse speed.         
    fResult = SystemParametersInfo(SPI_GETMOUSE,   // Get mouse information
                                   0,              // Not used
                                   &aMouseInfo,    // Holds mouse information
                                   0);             // Not used           
                                   
    // Double it.         
    if( fResult )     
    {
        aMouseInfo[2] = 2 * aMouseInfo[2];
        
        // Change the mouse speed to the new value.
        SystemParametersInfo(SPI_SETMOUSE,      // Set mouse information
                             0,                 // Not used
                             aMouseInfo,        // Mouse information
                             SPIF_SENDCHANGE);  // Update Win.ini
    }  
}

注意

winuser.h 標頭會將 SystemParametersInfo 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-sysparams-ext-l1-1-0 (Windows 8)

另請參閱

ACCESSTIMEOUT

ANIMATIONINFO

AUDIODESCRIPTION

FILTERKEYS

HIGHCONTRAST

ICONMETRICS

LOGFONT

MAKELANGID

MINIMIZEDMETRICS

MOUSEKEYS

NONCLIENTMETRICS

矩形

SERIALKEYS

SOUNDSENTRY

STICKYKEYS

SystemParametersInfoForDPI

TOGGLEKEYS

WM_SETTINGCHANGE

Windows 資料類型