加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

使用Windows Power Management API调暗监视器

发布时间:2020-12-13 21:31:18 所属栏目:Windows 来源:网络整理
导读:我正在尝试做一些看起来很简单的事情,我只想让我的程序能够在某些条件下调整显示器的亮度.所以,我查看了窗口 Power Management API,发现了一些似乎对我有用的东西.我放在一起的代码的核心(基本上,我引用了 this)看起来像这样: GUID *pPwrGUID;GUID subGUID
我正在尝试做一些看起来很简单的事情,我只想让我的程序能够在某些条件下调整显示器的亮度.所以,我查看了窗口 Power Management API,发现了一些似乎对我有用的东西.我放在一起的代码的核心(基本上,我引用了 this)看起来像这样:
GUID *pPwrGUID;
GUID subGUID = GUID_VIDEO_SUBGROUP;
GUID BriGUID = GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS;

PowerGetActiveScheme(NULL,&pPwrGUID);
PowerWriteACValueIndex(NULL,pPwrGUID,&subGUID,&BriGUID,0);

这似乎很简单.我遇到的问题是PowerWriteACValueIndex返回错误代码2:File Not Found,这对我来说没有多大意义.我认为问题只是我的索引值不好(PowerWriteACValueIndex函数中的最后一个参数),但是使用PowerReadACValueIndex将写入更改为读取(以查看是否可以获得合法值)也会返回2.已经检查并确保GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS位于头文件中的GUID_VIDEO_SUBGROUP下.

只有我能想到的其他信息可能会有所帮助,我的WINVER设置为0x0600(vista).

有什么想法可能会出错吗?它似乎应该是一个非常简单的过程,但我真的没有运气.谢谢.

好的,得到了??我想要通过一些试验和错误的工作.显然GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS不是正确使用的东西,由于某种原因,这些函数不能用于它(即使它在我的子组下的头文件中).所以,我现在还不确定它的目的是什么,但不要在这种情况下使用它.

什么工作是相同的功能,但使用GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS.如果要更改“暗淡”状态的亮度,还有GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS.

使用这个定义,我得到了我想要的行为.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读