gpt4 book ai didi

c++ - 如何从应用程序中更改 "Dim the display"和 "Dimming display brightness"设置 (Windows)?

转载 作者:行者123 更新时间:2023-11-30 16:34:42 27 4
gpt4 key购买 nike

我的应用程序已经能够设置显示器关闭的超时时间,以及设置全部内容,并且还可以设置当前的亮度。 Windows 有一项附加功能,可以在一段时间后调暗显示器(高级电源使用方案设置中的“稍后调暗显示器”和“显示器调暗亮度”)。

有谁知道我如何从我的应用程序(它是一个 C/C++ 应用程序)中查询/设置选项“在之后调暗显示”和“显示调暗亮度”设置 - 如果可能的话,使用“纯”Windows API?

之前非常感谢。您的威利·K。

最佳答案

罗恩为我指明了正确的方向。以下代码示例显示了应用程序如何控制背光何时应调暗至特定亮度级别(为了使代码更易于理解,已省略错误检查等)。

#include <iniitguid.h>    // Seems to be uncluded before Windows.h for some reason...
#include <windows.h>
#include <powrprof.h>

static const GUID GuidPwrVideoIf = GUID_VIDEO_SUBGROUP;
static const GUID GuidPwrDimTimeout = GUID_VIDEO_DIM_TIMEOUT;
static const GUID GuidPwrDimBrightness = GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS;

void setBacklightDimming(DWORD timeOut, DWORD dimmedBrightness)
{
DWORD ret;
GUID *pGuidPwrActiveSheme;

// Attach to the active power scheme
ret = PowerGetActiveScheme(NULL, &pGuidPwrActiveSheme);

// Set the timeout that will elapse before the display will dim
ret = PowerWriteDCValueIndex(NULL, pGuidPwrActiveSheme, &GuidPwrVideoIf, &GuidPwrDimTimeout, timeOut);

// Set the dimmed brightness level
PowerWriteDCValueIndex(NULL, pGuidPwrActiveSheme, &GuidPwrVideoIf, &GuidPwrDimBrightness, dimmedBrightness);

// Apply the new setings immediately
retVal = PowerSetActiveScheme(NULL, pGuidPwrActiveSheme);

// Go on with whatever you want to do...
}

当系统处于“电池供电”状态(例如笔记本电脑)时,此代码示例会更改设置。要在系统“使用交流电源”时进行设置,只需将 PowerWriteDCValueIndex() 替换为 PowerWriteACValueIndex()。

关于c++ - 如何从应用程序中更改 "Dim the display"和 "Dimming display brightness"设置 (Windows)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49222162/

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