📄 misc.c
字号:
case SPI_SETMOUSEHOVERHEIGHT:
case SPI_SETMOUSETRAILS:
case SPI_SETSNAPTODEFBUTTON:
case SPI_SETBEEP:
case SPI_SETBLOCKSENDINPUTRESETS:
case SPI_SETKEYBOARDDELAY:
case SPI_SETKEYBOARDPREF:
case SPI_SETKEYBOARDSPEED:
case SPI_SETMOUSEBUTTONSWAP:
case SPI_SETWHEELSCROLLLINES:
case SPI_SETMENUSHOWDELAY:
case SPI_SETMENUDROPALIGNMENT:
case SPI_SETICONTITLEWRAP:
case SPI_SETCURSORS:
case SPI_SETDESKPATTERN:
case SPI_SETBORDER:
case SPI_SETDRAGHEIGHT:
case SPI_SETDRAGWIDTH:
case SPI_SETSHOWIMEUI:
case SPI_SETSCREENREADER:
case SPI_SETSHOWSOUNDS:
return IntSystemParametersInfo(uiAction, uiParam, NULL, fWinIni);
/* NOTICE: from the IntSystemParametersInfo implementation it uses pvParam */
case SPI_SETSCREENSAVERRUNNING:
case SPI_SETFLATMENU:
case SPI_SETMOUSESPEED:
case SPI_SETGRADIENTCAPTIONS:
case SPI_SETFOCUSBORDERHEIGHT:
case SPI_SETFOCUSBORDERWIDTH:
case SPI_SETLANGTOGGLE:
case SPI_SETMENUFADE:
case SPI_SETDROPSHADOW:
case SPI_SETACTIVEWINDOWTRACKING:
case SPI_SETACTIVEWNDTRKZORDER:
case SPI_SETACTIVEWNDTRKTIMEOUT:
case SPI_SETCARETWIDTH:
case SPI_SETFOREGROUNDFLASHCOUNT:
case SPI_SETFOREGROUNDLOCKTIMEOUT:
case SPI_SETFONTSMOOTHINGORIENTATION:
case SPI_SETFONTSMOOTHINGTYPE:
case SPI_SETFONTSMOOTHINGCONTRAST:
case SPI_SETKEYBOARDCUES:
case SPI_SETCOMBOBOXANIMATION:
case SPI_SETCURSORSHADOW:
case SPI_SETHOTTRACKING:
case SPI_SETLISTBOXSMOOTHSCROLLING:
case SPI_SETMENUANIMATION:
case SPI_SETSELECTIONFADE:
case SPI_SETTOOLTIPANIMATION:
case SPI_SETTOOLTIPFADE:
case SPI_SETUIEFFECTS:
case SPI_SETMOUSECLICKLOCK:
case SPI_SETMOUSESONAR:
case SPI_SETMOUSEVANISH:
return IntSystemParametersInfo(uiAction, 0, pvParam, fWinIni);
/* Get SPI msg here */
#if 1 /* only for 32bit applications */
case SPI_GETLOWPOWERACTIVE:
case SPI_GETLOWPOWERTIMEOUT:
case SPI_GETPOWEROFFACTIVE:
case SPI_GETPOWEROFFTIMEOUT:
#endif
case SPI_GETSCREENSAVERRUNNING:
case SPI_GETSCREENSAVETIMEOUT:
case SPI_GETSCREENSAVEACTIVE:
case SPI_GETKEYBOARDCUES:
case SPI_GETFONTSMOOTHING:
case SPI_GETGRADIENTCAPTIONS:
case SPI_GETFOCUSBORDERHEIGHT:
case SPI_GETFOCUSBORDERWIDTH:
case SPI_GETWHEELSCROLLLINES:
case SPI_GETWHEELSCROLLCHARS:
case SPI_GETFLATMENU:
case SPI_GETMOUSEHOVERHEIGHT:
case SPI_GETMOUSEHOVERWIDTH:
case SPI_GETMOUSEHOVERTIME:
case SPI_GETMOUSESPEED:
case SPI_GETMOUSETRAILS:
case SPI_GETSNAPTODEFBUTTON:
case SPI_GETBEEP:
case SPI_GETBLOCKSENDINPUTRESETS:
case SPI_GETKEYBOARDDELAY:
case SPI_GETKEYBOARDPREF:
case SPI_GETMENUDROPALIGNMENT:
case SPI_GETMENUFADE:
case SPI_GETMENUSHOWDELAY:
case SPI_GETICONTITLEWRAP:
case SPI_GETDROPSHADOW:
case SPI_GETFONTSMOOTHINGCONTRAST:
case SPI_GETFONTSMOOTHINGORIENTATION:
case SPI_GETFONTSMOOTHINGTYPE:
case SPI_GETACTIVEWINDOWTRACKING:
case SPI_GETACTIVEWNDTRKZORDER:
case SPI_GETBORDER:
case SPI_GETCOMBOBOXANIMATION:
case SPI_GETCURSORSHADOW:
case SPI_GETHOTTRACKING:
case SPI_GETLISTBOXSMOOTHSCROLLING:
case SPI_GETMENUANIMATION:
case SPI_GETSELECTIONFADE:
case SPI_GETTOOLTIPANIMATION:
case SPI_GETTOOLTIPFADE:
case SPI_GETUIEFFECTS:
case SPI_GETMOUSECLICKLOCK:
case SPI_GETMOUSECLICKLOCKTIME:
case SPI_GETMOUSESONAR:
case SPI_GETMOUSEVANISH:
case SPI_GETSCREENREADER:
case SPI_GETSHOWSOUNDS:
{
/* pvParam is PINT,PUINT or PBOOL */
UINT Ret;
if(!IntSystemParametersInfo(uiAction, uiParam, &Ret, fWinIni))
{
return( FALSE);
}
_SEH_TRY
{
ProbeForWrite(pvParam, sizeof(UINT ), 1);
*(PUINT)pvParam = Ret;
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCESS(Status))
{
SetLastNtError(Status);
return( FALSE);
}
return( TRUE);
}
case SPI_GETACTIVEWNDTRKTIMEOUT:
case SPI_GETKEYBOARDSPEED:
case SPI_GETCARETWIDTH:
case SPI_GETDRAGFULLWINDOWS:
case SPI_GETFOREGROUNDFLASHCOUNT:
case SPI_GETFOREGROUNDLOCKTIMEOUT:
{
/* pvParam is PDWORD */
DWORD Ret;
if(!IntSystemParametersInfo(uiAction, uiParam, &Ret, fWinIni))
{
return( FALSE);
}
_SEH_TRY
{
ProbeForWrite(pvParam, sizeof(DWORD ), 1);
*(PDWORD)pvParam = Ret;
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCESS(Status))
{
SetLastNtError(Status);
return( FALSE);
}
return( TRUE);
}
case SPI_GETICONMETRICS:
{
ICONMETRICSW Buffer;
return UserSystemParametersInfo_StructGet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_SETICONMETRICS:
{
ICONMETRICSW Buffer;
return UserSystemParametersInfo_StructSet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_GETMINIMIZEDMETRICS:
{
MINIMIZEDMETRICS Buffer;
return UserSystemParametersInfo_StructGet(uiAction, uiParam, pvParam, fWinIni,&Buffer,sizeof(Buffer));
}
case SPI_SETMINIMIZEDMETRICS:
{
MINIMIZEDMETRICS Buffer;
return UserSystemParametersInfo_StructSet(uiAction, uiParam, pvParam, fWinIni,&Buffer,sizeof(Buffer));
}
case SPI_GETNONCLIENTMETRICS:
{
NONCLIENTMETRICSW Buffer;
return UserSystemParametersInfo_StructGet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_SETNONCLIENTMETRICS:
{
NONCLIENTMETRICSW Buffer;
return UserSystemParametersInfo_StructSet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_GETANIMATION:
{
ANIMATIONINFO Buffer;
return UserSystemParametersInfo_StructGet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_SETANIMATION:
{
ANIMATIONINFO Buffer;
return UserSystemParametersInfo_StructSet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_GETACCESSTIMEOUT:
{
ACCESSTIMEOUT Buffer;
return UserSystemParametersInfo_StructGet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_SETACCESSTIMEOUT:
{
ACCESSTIMEOUT Buffer;
return UserSystemParametersInfo_StructSet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_GETFILTERKEYS:
{
FILTERKEYS Buffer;
return UserSystemParametersInfo_StructGet(uiAction, uiParam, pvParam, fWinIni,
&Buffer,sizeof(Buffer));
}
case SPI_SETFILTERKEYS:
{
FILTERKEYS Buffer;
return UserSystemParametersInfo_StructSet(uiAction, uiParam, pvParam, fWinIni,
&Buffer,sizeof(Buffer));
}
case SPI_GETSTICKYKEYS:
{
STICKYKEYS Buffer;
return UserSystemParametersInfo_StructGet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_SETSTICKYKEYS:
{
STICKYKEYS Buffer;
return UserSystemParametersInfo_StructSet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_GETTOGGLEKEYS:
{
TOGGLEKEYS Buffer;
return UserSystemParametersInfo_StructGet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_SETTOGGLEKEYS:
{
TOGGLEKEYS Buffer;
return UserSystemParametersInfo_StructSet(uiAction, uiParam, pvParam, fWinIni, &Buffer,sizeof(Buffer));
}
case SPI_SETWORKAREA:
{
RECT rc;
_SEH_TRY
{
ProbeForRead(pvParam, sizeof( RECT ), 1);
RtlCopyMemory(&rc,pvParam,sizeof(RECT));
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCESS(Status))
{
SetLastNtError(Status);
return( FALSE);
}
return IntSystemParametersInfo(uiAction, uiParam, &rc, fWinIni);
}
case SPI_GETWORKAREA:
{
RECT rc;
if(!IntSystemParametersInfo(uiAction, uiParam, &rc, fWinIni))
{
return( FALSE);
}
_SEH_TRY
{
ProbeForWrite(pvParam, sizeof( RECT ), 1);
RtlCopyMemory(pvParam,&rc,sizeof(RECT));
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCESS(Status))
{
SetLastNtError(Status);
return( FALSE);
}
return( TRUE);
}
case SPI_SETMOUSE:
{
CURSORACCELERATION_INFO CursorAccelerationInfo;
_SEH_TRY
{
ProbeForRead(pvParam, sizeof( CURSORACCELERATION_INFO ), 1);
RtlCopyMemory(&CursorAccelerationInfo,pvParam,sizeof(CURSORACCELERATION_INFO));
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCESS(Status))
{
SetLastNtError(Status);
return( FALSE);
}
return IntSystemParametersInfo(uiAction, uiParam, &CursorAccelerationInfo, fWinIni);
}
case SPI_GETMOUSE:
{
CURSORACCELERATION_INFO CursorAccelerationInfo;
if(!IntSystemParametersInfo(uiAction, uiParam, &CursorAccelerationInfo, fWinIni))
{
return( FALSE);
}
_SEH_TRY
{
ProbeForWrite(pvParam, sizeof( CURSORACCELERATION_INFO ), 1);
RtlCopyMemory(pvParam,&CursorAccelerationInfo,sizeof(CURSORACCELERATION_INFO));
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCESS(Status))
{
SetLastNtError(Status);
return( FALSE);
}
return( TRUE);
}
case SPI_SETICONTITLELOGFONT:
{
LOGFONTW LogFont;
_SEH_TRY
{
ProbeForRead(pvParam, sizeof( LOGFONTW ), 1);
RtlCopyMemory(&LogFont,pvParam,sizeof(LOGFONTW));
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCESS(Status))
{
SetLastNtError(Status);
return( FALSE);
}
return IntSystemParametersInfo(uiAction, uiParam, &LogFont, fWinIni);
}
case SPI_GETICONTITLELOGFONT:
{
LOGFONTW LogFont;
if(!IntSystemParametersInfo(uiAction, uiParam, &LogFont, fWinIni))
{
return( FALSE);
}
_SEH_TRY
{
ProbeForWrite(pvParam, sizeof( LOGFONTW ), 1);
RtlCopyMemory(pvParam,&LogFont,sizeof(LOGFONTW));
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCESS(Status))
{
SetLastNtError(Status);
return( FALSE);
}
return( TRUE);
}
case SPI_ICONVERTICALSPACING:
case SPI_ICONHORIZONTALSPACING:
{
UINT Ret;
if(!IntSystemParametersInfo(uiAction, uiParam, &Ret, fWinIni))
{
return( FALSE);
}
if(NULL != pvParam)
{
_SEH_TRY
{
ProbeForWrite(pvParam, sizeof(UINT ), 1);
*(PUINT)pvParam = Ret;
}
_SEH_HANDLE
{
Status = _SEH_GetExceptionCode();
}
_SEH_END;
if(!NT_SUCCES
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -