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

相关文章

python中各种常见文件的读写操作与类型转换详细指南

《python中各种常见文件的读写操作与类型转换详细指南》这篇文章主要为大家详细介绍了python中各种常见文件(txt,xls,csv,sql,二进制文件)的读写操作与类型转换,感兴趣的小伙伴可以跟... 目录1.文件txt读写标准用法1.1写入文件1.2读取文件2. 二进制文件读取3. 大文件读取3.1

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.