UWP关闭错误代码

时间:2018-05-12 20:05:49

标签: c# uwp

你好我想关机pc if label1.text == label2.text 但是当我拨打Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Shutdown, TimeSpan.FromSeconds(1));

时,我收到了一个错误消息

错误:

  

System.UnauthorizedAccessException:'Accèsrefusé。 (来自HRESULT的异常:0x80070005(E_ACCESSDENIED))'

2 个答案:

答案 0 :(得分:2)

// Shutdowns the device within 1 second:
ShutdownManager.BeginShutdown(ShutdownKind.Shutdown, TimeSpan.FromSeconds(1));

为了使此代码正常工作,您需要为应用程序提供额外的功能,使用 Visual Studio XML Editor 打开Package.appxmanifest文件并添加:

<Package
     ...
   <Capabilities>
    ...
     <iot:Capability Name="systemManagement" />
   </Capabilities>
</Package>

如果您未设置此功能,则在调用UnauthorizedAccessException方法时会出现ShutdownManager错误

来自Microsoft docs

  

此API需要使用IoT systemManagement功能。用户可以将以下内容添加到 Package.appmanifest <iot:Capability Name="systemManagement"/>

答案 1 :(得分:1)

ShutdownManager API需要使用IoT 系统管理功能,并且在 IgnorableNamespace 列表中包含 iot 。用户可以将以下内容添加到他们的 Package.appmanifest :中,并将 iot 添加到他们现有的 IgnorableNamespaces 中。

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10"
  IgnorableNamespaces="uap mp iot">