windows下SystemParametersInfo获取屏幕保护始终为TRUE解决办法

C#实现启动屏幕保护(附完整源代码) 阅读详情

用微软的SystemParametersInfo方法请求SPI_GETSCREENSAVEACTIVE来获取屏幕保护程序是否开启,我们会发现当第一次程序启动(计算机屏保未开启的情况下)返回的确实是FALSE,也就是说返回的状态没问题,当你将计算机屏幕保护打开在测试,发现返回的是TRUE,(是不是很开心^_^,不要激动),此时 如果你在将屏幕保护关闭以后,在此启动程序,发现返回的是TRUE(此时内心有一千万只吃草的那种动物从心里面飘过),在查看资料以后发现,这原来是微软的一个BUG,微软官方也承认了这个BUG的存在,同时微软也给出了一个解决的方法,那就是通过注册表来判断

HKEY hKeySreenSaver = NULL;long lReturn = NULL;
	long lScreenSaver = NULL;
	DWORD dwData = NULL;

	lReturn = RegOpenKeyEx(HKEY_CURRENT_USER,
		TEXT("Control Panel\\Desktop"),
		0,
		KEY_QUERY_VALUE,
		&hKeySreenSaver);
	if(lReturn == ERROR_SUCCESS)

	{
		lScreenSaver = RegQueryValueEx(hKeySreenSaver, 
			TEXT("SCRNSAVE.EXE"),
			NULL,
			NULL,
			NULL,
			&dwData);

		if(lScreenSaver == ERROR_SUCCESS){
			printf("Screen Saver is Active");
			bIsScrSaveEnable = TRUE;
		}
		else{
			printf("Screen Saver is Not Active");
			bIsScrSaveEnable = FALSE;
		}

	}
	RegCloseKey(hKeySreenSaver);
	hKeySreenSaver = NULL;
通过这段代码,就能够判断出当前屏幕保护程序是否真的开启或关闭


C# .NET 禁止屏幕保护程序 基于C#实现 操作系统上 禁止屏幕保护程序 立即下载

相关推荐

Docker “docker login“ 失败? 登录阿里云镜像仓库仓库 unauthorized: authentication required

文章目录听说你 login fail?来,让我们解决一下!登录,撒花 听说你 login fail? 美滋滋的在服务器上安装完成Docker应用,开始配置阿里云镜像加速?然后被阿里云官方文档蹂躏?别急别急,让我来拯救你。 我们先来看看 阿里云官方文档 Docker镜像基本操作: 好家伙,emmm… 上来直接就Login Succeeded,这不简直so easy?我们也来照着操作操作: docker@default-online:~$ docker login registry.cn-hangzhou.a

zhuzicc的博客 1万+

监控软件之 阻止系统屏保 阻止系统关闭显示器 阻止系统待机

目前大部分监控软件都是基于DDRAW来显示的,在屏保/系统关闭显示器/待机之后,画面会消失。 可用下面的代码阻止屏保/系统关闭显示器/待机 //记录是否启用屏幕保护 BOOL bScreenSaverActive = FALSE; //阻止屏保 //获取是否启用屏幕保护 SystemParametersInfo(SPI_GETSCREENSAVEACTIVE,0,&bScreenS

Sloan 4268

机器学习参数寻优:方法、实例与分析

机器学习模型的性能很大程度上依赖于其参数的选择。参数寻优(Hyperparameter Tuning)是提升模型表现的关键步骤之一。本文将详细介绍主流的参数寻优方法,包括网格搜索(Grid Search)、随机搜索(Random Search)、贝叶斯优化(Bayesian Optimization)、和超参数优化库(如Optuna和Hyperopt)等,并探讨它们的优缺点及适用场景。

甜盐的博客 2843

阻止屏保运行、显示器和系统待机

暴风影音在播放的时候会阻止屏幕保护程序的运行,并会防止系统关闭显示器和进入待机状态。以下就是用C#来实现这个功能。

张吉的博客 8546

U8备份提示“远程组件初始化失败”

问题现象: SQL出现问题后重装,U8没有重装,之后直接附加数据库,U8可以正常登陆,但是在备份的时候提示远程组件初始化失败。 问题原因: 因为重装了SQL,没有进行U8数据源初始化,导致Master库中丢失了存储过程储 解决办法:在Master库重建存储过程 USE [master] GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[U8FileServerExtendProc] @cmdLi.

SamYux 2476

手把手教你用u-center配置ublox GPS模块:从波特率到报文频率全流程

本文提供了一份详细的u-center软件配置ublox GPS模块的完整指南。从硬件连接到软件设置,逐步讲解了如何探测并设置正确的波特率、选择与启用关键的NMEA和UBX报文,以及配置输出频率。文章特别强调了配置固化的重要性,并分享了使用UBX协议进行高效数据解析等高级技巧,帮助开发者快速上手并优化GPS模块性能。

weixin_28285943的博客 897

关于Windows锁屏的两个参数:ScreenSaveTimeOut和inactivityTimeOutSecs

用 ScreenSaveTimeOut 会更直接地控制屏幕保护程序及其锁屏功能,它适用于多数情况下实现自动锁屏功能。inactivityTimeOutSecs 通常用于更复杂的会话管理配置,不是直接控制屏幕锁定的设置。

刘元林的博客 3256

如何跑通SuperPoint+LightGlue的训练代码使用gluefactory进行训练和评估?

🏆本文收录于专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家!持续更新中,up!up!up!!

**My Coding Family** 1786

SystemParametersInfo调置壁纸、屏幕保护程序(转)

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

weixin_30768661的博客 622

从零玩转Vitis裸机开发:手把手教你创建、移植与实战优化

✅ Vitis裸机开发全流程✅ 中断系统配置技巧✅ 跨平台移植方法论✅ 性能优化实战经验研究FreeRTOS移植探索AMP(非对称多处理)架构学习使用Vitis Analyzer进行性能分析技术雷达:关注Xilinx最新推出的Vitis Unified IDE,其集成了更强大的调试和分析工具。立即动手实践吧!

QQ_778132974的博客 584

23 RAG 为什么答不准:召回、分块、排序的常见坑

RAG 答不准时,不要先怪模型。本文把常见失败拆成召回不到、召回不准、分块不完整、排序靠后、上下文污染和生成不忠实六类,并给出从 Top-K 检查到评估集的排查流程。

老于的笔记的专栏 248

SystemParametersInfo调置壁纸、屏幕保护程序

应用SystemParametersInfo函数可以获取和设置数量众多的windows系统参数。这个小程序就是运用了SystemParametersInfo函数来设置桌面的墙纸,而且程序可以让我们选择多幅墙纸图片,程序会以一定的时间间隔自动改变墙纸。 我们先来看看SystemParametersInfo函数的定义和参数: 使用API函数之前必须先在程序中声明如下: BOOL W...

671

基于方差分解分析气象/水文干旱驱动因素(含MATLAB全代码)

简介基于方差分解方法分析气象/水文干旱驱动因素

WW、forever的博客 802

systemparametersinfo详细

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

Egos 的专栏 7327

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

禁用屏幕保护及启用屏幕保护的代码

以下是禁用屏幕保护的代码: void   DisableScrSaver() {   BOOL   bScrActive;     SystemParametersInfo(SPI_GETSCREENSAVEACTIVE,   0,   &bScrActive,

zmq5411的专栏 1904

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

systemparametersinfo详细zz

 systemparametersinfo详细默认分类   2009-04-14 11:34   阅读234   评论0   字号: 大大  中中  小小 Windows-API-user32 SystemParametersInfo2007-07-17 19:47 应用SystemParametersInfo函数可以获取和设置数

CNCbird的专栏 1087

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SystemParametersInfo的使用方法

<br /> <br /> <br />[DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]<br />public static extern int SystemParametersInfo(<br />                                                int uAction,<br />                                                in

朩冰雲的专栏 9530

禁止/启用屏幕保护及系统热键等

禁止/启用屏幕保护及系统热键等作者:徐景周1. 禁止/启用屏幕保护及电源管理static UINT dss_GetList[] = {SPI_GETLOWPOWERTIMEOUT, SPI_GETPOWEROFFTIMEOUT, SPI_GETSCREENSAVETIMEOUT};static UINT dss_SetList[] = {SPI_S

jz_x的专栏 1514

systemparametersinfo详细(更改屏保设置)

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

GuoGuoABC 4379
上一篇: windows下通过注册表来获取计算机相关信息
下一篇: Windows下利判断远程桌面功能是否启用
RuningPigNO1
博客等级 码龄10年 22粉丝 39原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RuningPigNO1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值