You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP C++:如何在后台任务中切换自适应亮度

UWP后台任务中控制自适应亮度及编译错误解决

问题梳理

  • 已实现后台任务中获取BrightnessOverride实例:

    aaa_bo = BrightnessOverride::GetDefaultForSystem();// 在VS和手机端均可正常运行
    
  • 可通过BackgroundTask.exe设置屏幕亮度,但不清楚如何开启/关闭自适应亮度

  • 尝试自定义NullObject类调用SaveForSystemAsync时触发编译错误:

    aa_OBJ_BO->SaveForSystemAsync(NullObject());
    

    错误信息:

    Error C2664 'Windows::Foundation::IAsyncOperation ^Windows::Graphics::Display::BrightnessOverride::SaveForSystemAsync(Windows::Graphics::Display::BrightnessOverride ^)': cannot convert argument 1 from 'BackgroundTask::NullObject' to 'Windows::Graphics::Display::BrightnessOverride ^' BackgroundTask 554 1 Build

    自定义类代码:

    private ref class ClsDummy {
    public:
        virtual ~ClsDummy() {};
        virtual void MakeSound() {};
    };
    //Windows::Graphics::Display::BrightnessOverride^
    private ref class NullObject sealed : public ClsDummy {
    public:
        //virtual void MakeSound() const override {};
        virtual void MakeSound() override {};
    };
    

解决方法

1. 编译错误修复

你创建的NullObject类继承自自定义的ClsDummy,与BrightnessOverride类型完全不兼容,导致参数类型转换失败。不需要自定义空对象,若要恢复系统自适应亮度,直接调用官方提供的方法即可。

2. 开启/关闭自适应亮度的正确方式

关闭自适应亮度(强制固定亮度)

通过BrightnessOverride设置固定亮度级别或亮度场景,然后保存覆盖设置:

// 获取BrightnessOverride实例
auto bo = BrightnessOverride::GetDefaultForSystem();
// 设置固定亮度(0.0到1.0之间,1.0为最高亮度)
bo->SetBrightnessLevel(0.8f, DisplayBrightnessOverrideOptions::None);
// 保存设置,覆盖系统自适应亮度
create_task(bo->SaveForSystemAsync(bo)).then([](bool success) {
    if (success) {
        // 设置成功
    }
});

开启自适应亮度(恢复系统默认)

调用ClearBrightnessOverrideAsync方法清除亮度覆盖,系统会自动恢复自适应亮度:

auto bo = BrightnessOverride::GetDefaultForSystem();
create_task(bo->ClearBrightnessOverrideAsync()).then([](bool success) {
    if (success) {
        // 已恢复自适应亮度
    }
});

或者也可以通过传递nullptr给SaveForSystemAsync来清除覆盖:

auto bo = BrightnessOverride::GetDefaultForSystem();
create_task(bo->SaveForSystemAsync(nullptr)).then([](bool success) {
    if (success) {
        // 已恢复自适应亮度
    }
});

内容的提问来源于stack exchange,提问作者Pacala_ba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 21:33:23