gpt4 book ai didi

windows - 使用 Windows 电源管理 API 调暗显示器

转载 作者:可可西里 更新时间:2023-11-01 13:34:35 26 4
gpt4 key购买 nike

我正在尝试做一些看起来很简单的事情,我只是想让我的程序能够在特定条件下调整显示器亮度。所以,我看着 window 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:未找到文件,这对我来说意义不大。我当时认为问题只是我有一个错误的索引值(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。

改用这个定义,我得到了我想要的行为。

关于windows - 使用 Windows 电源管理 API 调暗显示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14566830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com