哪个API可以获得显示亮度?

Which API can get the display brightness?

我发现:

BrightnessOverride bo = BrightnessOverride.GetDefaultForSystem();
bo.BrightnessLevel();

可能与亮度读取有关。但是当我 运行 代码时,出现异常:"Access denied"。 API 文档说它需要系统管理功能。我尝试创建一个 Package.appxmanifest 文件并在其中编写以下代码。但是 visual studio 警告说 systemManagement 是不允许的参数。

有人知道为什么吗?或获取显示亮度的其他建议?谢谢。

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
  <Identity Name=""
            Version=""
            Publisher="" />
  <Properties>
    <DisplayName></DisplayName>
    <PublisherDisplayName></PublisherDisplayName>
    <Logo></Logo>
  </Properties>
  <Prerequisites>
    <OSMinVersion></OSMinVersion>
    <OSMaxVersionTested></OSMaxVersionTested>
  </Prerequisites>
  <Resources>
    <Resource Language="" />
  </Resources>
  <Capabilities>
    <Capability Name="systemManagement"/>
  </Capabilities>
  <Applications>
    <Application Id="" StartPage="">
      <VisualElements DisplayName="" Description=""
           Logo="" SmallLogo=""
           ForegroundText="" BackgroundColor="">
        <SplashScreen Image="" />
      </VisualElements>
    </Application>
  </Applications>
</Package>

它是用户,而不是应用程序,可以调节显示器的亮度。自动调节亮度是系统的一项任务。哦,虽然不是一个强有力的理由,但请记住,UWP 可以 运行 在 没有 显示器的设备上。

因此UWP不提供此功能(获取显示器的当前亮度读数)。

至于为什么BrightnessOverride需要systemManagement能力,我不太明白。毕竟,这种覆盖是针对每个应用程序的,意味着只有应用程序本身受到影响。

编辑:

正如 Raymond 在他的评论中指出的那样,这个 API 可以控制每个应用程序的亮度以及系统亮度。

设置显示亮度基本的系统管理,需要申明能力