systemparametersinfo详细

2024-03-28 23:58

本文主要是介绍systemparametersinfo详细,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

应用SystemParametersInfo函数可以获取和设置数量众多的windows系统参数。这个小程序就是运用了SystemParametersInfo函数来设置桌面的墙纸,而且程序可以让我们选择多幅墙纸图片,程序会以一定的时间间隔自动改变墙纸。

我们先来看看SystemParametersInfo函数的定义和参数:

使用API函数之前必须先在程序中声明如下:

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

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

参数: 意义

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为布尔型

本例中我们选择图片并取得图片的完整路径,然后通过调用API函数,将这幅图设为墙纸,使用的语法为:SystemParametersInfo SPI_SETDESKWALLPAPER, 0, bmpfile, 1

其中SystemParametersInfo表示要设置桌面墙纸,bmpfile是要设置的图片的路径。

例中的定时自动更换是通过Timer控件实现的,我们可以调节Timer控件的Interval属性来改变间隔时间的长短。这样就能看到不断变化的桌面了

************************************************

spi_seticontitlelogfont lpvparam是一个logfont结构,用于定义图标标题采用的字体。uparam指定logfont结构的大小。如两者均为null,则采用系统启动时定义的字体
spi_seticontitlewrap uparam为true时打开图标标题自动换行
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   '恢复键盘锁定  

这篇关于systemparametersinfo详细的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/857057

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.