您的位置:首页 > 其它

systemparametersinfo详细

2009-11-19 14:21 507 查看
Windows-API-user32 SystemParametersInfo

应用SystemParametersInfo函数可以获取和设置数量众多的windows系统参数。这个小程序就是运用了SystemParametersInfo函数来设置桌面的墙纸,而且程序可以让我们选择多幅墙纸图片,程序会以一定的时间间隔自动改变墙纸。
我们先来看看SystemParametersInfo函数的定义和参数:
使用API函数之前必须先在程序中声明如下:
VB:
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

C#
[DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);




其中各参数的意义如下表:

uAction Long,指定要设置的参数。参考uAction常数表

uParam Long,参考uAction常数表

lpvParam Any,按引用调用的Integer、Long和数据结构。

fuWinIni 这个参数规定了在设置系统参数的时候,是否应更新用户设置参数

下面是部分uAction参数,和使用它们的方法:

参数 意义和使用方法

6 设置视窗的大小,SystemParametersInfo(6, 放大缩小值, P, 0),lpvParam为long型

17 开关屏保程序,SystemParametersInfo(17, False, P, 1),uParam为布尔型

13,24 改变桌面图标水平和垂直间距,uParam为间距值(像素),lpvParam为long型

15 设置屏保等待时间,SystemParametersInfo(15, 秒数, P, 1),lpvParam为long型

20 设置桌面背景墙纸,SystemParametersInfo(20, True, 图片路径, 1)

93 开关鼠标轨迹,SystemParametersInfo(93, 数值, P, 1),uParam为False则关闭

97 开关Ctrl+Alt+Del窗口,SystemParametersInfo(97, False, A, 0),uParam为布尔

spi_seticontitlelogfont lpvparam是一个logfont结构,用于定义图标标题采用的字体。uparam指定logfont结构的大小。如两者均为null,则采用系统启动时定义的字体 spi_setkeyboarddelay uparam代表新的键盘重复延时


spi_setkeyboardpref 若uparam为true,表明用户相比键盘和鼠标更喜欢用前者。参考spi_getkeyboardpref


spi_setkeyboardspeed uparam代表新的键盘重复速率


spi_setlangtoggle 令窗口从系统注册表中重新装载热键信息,以便在键盘布局之间交换


spi_setlowpoweractive uparam为true时允许节能屏幕保护程序模式。只适用于win95


spi_setlowpowertimeout uparam代表新的节能屏幕保护程序延时。只适用于win95


spi_setmenudropalignment uparam为false时设置弹出菜单左对齐,true则右对齐


spi_setminimizedmetrics 参数与spi_getminimizedmetrics一样


spi_setmouse lpvparam是一个三元素整数数组的头一个条目,其中包含了鼠标设置。参考spi_getmouse


spi_setmousebuttonswap uparam为true时交换左右鼠标按钮的功能;如果为false,则使用原来的值


spi_setmousekeys 参数与spi_getmousekeys一样


spi_setnonclientmetrics 参数与spi_getnonclientmetrics一样


spi_setpenwindows uparam为true时载入笔窗口,false则卸载


spi_setpoweroffactive uparam为true时允许停电屏幕保护模式。只适用于win95


spi_setpowerofftimeout uparam代表新的停电屏幕保护程序延时。只适用于win95


spi_setscreenreader uparam为true时表示正在运行一个屏幕阅读程序。参考spi_getscreenreader


spi_setscreensaveactive uparam为true时激活屏幕保护程序;false表示禁止


spi_setscreensavetimeout uparam代表新的屏幕保护延迟时间,以秒为单位


spi_setserialkeys 参数与 spi_getserialkeys 相同


spi_setshowsounds uparam为true时允许窗口开启声音提示辅助访问特性。参考spi_getshowsounds


spi_setsnaptodefbutton 如鼠标应自动移到新对话框的默认按钮,则uparam为true。只适用于nt 4.0


spi_setsoundsentry 与 spi_getsoundsentry 相同


spi_setstickykeys 与 spi_getstickykeys 相同


spi_settogglekeys 与 spi_gettogglekeys 相同


spi_setworkarea 与 spi_getworkarea 相同







例:不用钩子也。用 SystemParametersInfo 禁止所有键盘的输入 :

Declare Function SystemParametersInfo Lib "User32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long

SystemParametersInfo 97, -1, 0, 0 '所有按键锁定
SystemParametersInfo 97, 0, 0, 0 '恢复键盘锁定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: