SystemParametersInfo调置壁纸、屏幕保护程序
应用SystemParametersInfo函数可以获取和设置数量众多的windows系统参数。这个小程序就是运用了SystemParametersInfo函数来设置桌面的墙纸,而且程序可以让我们选择多幅墙纸图片,程序会以一定的时间间隔自动改变墙纸。
我们先来看看SystemParametersInfo函数的定义和参数:
使用API函数之前必须先在程序中声明如下:
BOOL WINAPI SystemParametersInfo(
__in UINT uiAction,
__in UINT uiParam,
__inout PVOID pvParam,
__in UINT fWinIni
);
__in UINT uiAction,指定要设置的参数。参考uAction常数表。
__in UINT uiParam,参考uAction常数表。
__inout PVOID pvParam,按引用调用的Integer、Long和数据结构。
__in UINT fWinIni这个参数规定了在设置系统参数的时候,是否应更新用户设置参数。
下面是部分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 pvParam是一个logfont结构,用于定义图标标题采用的字体。uiParam指定logfont结构的大小。如两者均为NULL,则采用系统启动时定义的字体
spi_seticontitlewrap uiParam为true时打开图标标题自动换行
spi_setkeyboarddelay uiParam代表新的键盘重复延时
spi_setkeyboardpref 若uiParam为true,表明用户相比键盘和鼠标更喜欢用前者。参考spi_getkeyboardpref
spi_setkeyboardspeed uiParam代表新的键盘重复速率
spi_setlangtoggle 令窗口从系统注册表中重新装载热键信息,以便在键盘布局之间交换
spi_setlowpoweractive uiParam为true时允许节能屏幕保护程序模式。只适用于win95
spi_setlowpowertimeout uiParam代表新的节能屏幕保护程序延时。只适用于win95
spi_setmenudropalignment uiParam为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 uiParam为true时载入笔窗口,false则卸载
spi_setpoweroffactive uiParam为true时允许停电屏幕保护模式。只适用于win95
spi_setpowerofftimeout uiParam代表新的停电屏幕保护程序延时。只适用于win95
spi_setscreenreader uiParam为true时表示正在运行一个屏幕阅读程序。参考spi_getscreenreader
spi_setscreensaveactive uiParam为true时激活屏幕保护程序;false表示禁止
spi_setscreensavetimeout uiParam代表新的屏幕保护延迟时间,以秒为单位
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调置壁纸、屏幕保护程序的更多相关文章
- 使用 WPF 开发一个 Windows 屏幕保护程序
最近有小伙伴问我如何可以让 Windows 静置一段时间不操作之后,显示一个特殊的界面.我想了想,屏幕保护程序可以做到这一点,而且,屏幕保护程序的开发也是非常简单的. 本文将介绍如何为 Windows ...
- 使用C#开发屏幕保护程序步骤
本文介绍使用C#制作屏幕保护的方法,这个屏幕保护就是仿效视窗系统自带的字幕屏保. 屏幕保护程序的扩展名虽然是"scr",但其实是一个可执行的"exe"文件.但他 ...
- windows系统操作类和演示程序(关机,关闭显示器,打开屏幕保护程序,打开光驱等)
/// <summary> /// 系统控制类,关机,关闭显示器,打开屏幕保存程序等 /// </summary> public class SystemPowerContro ...
- windows屏幕保护程序opengl模板
Visual Studio 2013 屏幕保护程序opengl模板 ScreenSaver.cpp #define VC_EXTRALEAN #include <windows.h> #i ...
- Window权限维持(五):屏幕保护程序
屏幕保护是Windows功能的一部分,使用户可以在一段时间不活动后放置屏幕消息或图形动画.众所周知,Windows的此功能被威胁参与者滥用为持久性方法.这是因为屏幕保护程序是具有.scr文件扩展名的可 ...
- c#制作一个屏幕保护程序
代码已上传github 实现思路:纯黑窗体去边框,加入标签. 使用Timmer让windows 10标签运动.限制标签的行为. 代码: int deltX = 10; int deltY ...
- Windows 屏幕保护程序
{ 创建一个win32 窗口项目,不是控制台的 把exe改为src文件 复制到windows目录下 ok }
- CentOS取消屏幕保护自动锁屏功能
CentOS系统在用户闲置一段时间(默认为5分钟)后,会启动屏幕保护程序(默认的屏保为黑屏),并要求重新输入密码才能回到原来的桌面. 设置屏幕保护:System -> Preferences - ...
- CentOS系统里如何正确取消或者延长屏幕保护自动锁屏功能(图文详解)
不多说,直接上干货! 对于我这里想说的是,分别从CentOS6.X 和 CentOS7.X来谈及. 1. 问题:默认启动屏幕保护 问题描述: CentOS系统在用户闲置一段时间(默认为5分钟)后, ...
随机推荐
- mail 发送邮件
(1) 直接使用shell当编辑器 # mail -s "Hello from linuxde.net by shell" admin@linuxde.net hello,this ...
- 使用import scope解决maven继承(单)问题<转>
测试环境 maven 3.3.9 想必大家在做SpringBoot应用的时候,都会有如下代码: <parent> <groupId>org.springframework.bo ...
- 配置gradle的daemon
文档里提到,配置Daemon,能够加速gradle的构建,为了获取这个性能提上,我也得开启这个Daemon. 在Windows环境下:,可以执行这个命令 (if not exist "%US ...
- 四大中三家已面向客户推出机器人业务解决方案?别逗了,先用机器人自我革命吧! post by 上海嘉冰信息技术
近日,四大会计师事务所推出的机器人财务及业务解决方案的话题引爆朋友圈.鉴于该话题的前沿性以及对财务及业务领域从业人员未来职业发展有巨大的影响,引起热门讨论在所难免.小编先来汇总下目前国际四大会计师事务 ...
- Windows SDK DDK WDK (Windows Driver Kit) 区别
首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WIN ...
- 《effective Go》读后记录:GO基础
一个在线的Go编译器 如果还没来得及安装Go环境,想体验一下Go语言,可以在Go在线编译器 上运行Go程序. 格式化 让所有人都遵循一样的编码风格是一种理想,现在Go语言通过gofmt程序,让机器来处 ...
- 蜕变成蝶~Linux设备驱动之异步通知和异步I/O
在设备驱动中使用异步通知可以使得对设备的访问可进行时,由驱动主动通知应用程序进行访问.因此,使用无阻塞I/O的应用程序无需轮询设备是否可访问,而阻塞访问也可以被类似“中断”的异步通知所取代.异步通知类 ...
- 鼠标交互插件threex.domevents介绍
threex.domevents是一个three.js的扩展库,支持3D场景的交互.和我们操作DOM树的事件相似,名称都是一样的.所以使用起来非常方便.另外他也提供了连接操作.单击网格可实现跳转功能. ...
- React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块
尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息. ...
- centos 7 IP不能访问nginx Failed connect to 185.239.226.111:80; No route to host解决办法
服务器环境 centos 7.4 问题描述 1.可以ping通IP ,用IP访问nginx 不能访问,在服务器上curl localhost curl 185.239.226.111可以获得 [ro ...