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

时间:2017-09-29 05:10:37

标签: uwp win-universal-app display

我找到了:

<?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>

可能与亮度读取有关。但是当我运行代码时,它有一个异常说:&#34;访问被拒绝&#34;。 API文档说它需要systemManagement功能。我尝试创建一个Package.appxmanifest文件并在其中写下代码。但是视觉工作室警告说系统管理不允许参与其中。

任何人都知道为什么?或其他建议来获取显示亮度?感谢。

{{1}}

1 个答案:

答案 0 :(得分:2)

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

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

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

修改

Raymond在评论中指出,该API可以控制每个应用程序的亮度以及系统亮度。

设置显示亮度 基本系统管理,因此需要声明该功能。