我目前正在使用Windows IoT Core,并且正在尝试为Raspberry Pi 3b开发基于C ++的UWP应用。 我想从应用程序内部重新启动/关闭Pi,但是我不确定该怎么做。
UWP api参考列出了与C ++ Windows :: System对应的C#Windows.System。但是似乎并非所有类都可以在C ++中使用。 UWP samples(C#)利用ShutdownManager类进行重新启动和关闭,但是C ++名称空间中不存在该类。现在,我不确定应该如何利用API来实现此功能。还有其他可能解决C ++问题吗?
解决方案: 我错过了 UWP的Windows IoT扩展。这些必须在Visual Studio中手动添加,方法是右键单击“项目”,然后单击“添加”->“参考”->“通用Windows”->“扩展”。现在,我可以访问名称空间,并且能够重新启动和关闭设备。
答案 0 :(得分:0)
但是似乎并不是所有的类都可以在C ++中使用。
这是否意味着当您构建C ++ UWP项目时,它无法成功构建,或者当您在设备上运行该应用程序时,出现了异常吗?
ShutdownManager API在C ++中可用,确实包含在Windows :: System命名空间中,请参考此document。并且请注意:
此API需要使用IoT systemManagement 功能,并且 将物联网包含在 IgnorableNamespaces 列表中。用户可以添加 将以下内容添加到他们的 Package.appmanifest 中:,并将物联网添加到其现有的列表中 IgnorableNamespaces。
以下代码在我的设备上正常工作。
changeScroll(){
let style = document.body.style.overflow
document.body.style.overflow = (style === 'hidden') ? 'auto':'hidden'
}
<div
onMouseEnter={this.changeScroll}
onMouseLeave={this.changeScroll} />
<ReactComponent/>
</div>