【发布时间】:2016-04-08 20:37:12
【问题描述】:
我有一个在没有物理键盘的 Windows 平板电脑上以分配的访问模式运行的 UWP 应用。一旦用户完成操作,我想让用户关闭平板电脑(不能 Alt+CTRL+DEL 并关闭,因为没有物理键盘)。我知道 UWP 没有用于关闭平板电脑的 API。但有什么解决方法吗? Microsoft 如何处理这种情况?
【问题讨论】:
标签: c# windows-10 uwp kiosk-mode windows-10-universal
我有一个在没有物理键盘的 Windows 平板电脑上以分配的访问模式运行的 UWP 应用。一旦用户完成操作,我想让用户关闭平板电脑(不能 Alt+CTRL+DEL 并关闭,因为没有物理键盘)。我知道 UWP 没有用于关闭平板电脑的 API。但有什么解决方法吗? Microsoft 如何处理这种情况?
【问题讨论】:
标签: c# windows-10 uwp kiosk-mode windows-10-universal
这在 UWP 应用程序中是无法实现的,它在 App Container 中运行,并且没有这样的权限。
但是,您可以试用代理 Windows 运行时组件以用于旁加载的 Windows 应用商店应用。从本质上讲,它允许您的 UWP 应用调用托管在不同进程中的 Win32 API,该进程在 App 容器之外运行。
在您的代理组件中,您可以使用以下代码关闭您的 PC。
var psi = new ProcessStartInfo("shutdown", "/s /t 0");
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
Process.Start(psi);
下面是 VS2015 的代理 WinRT 组件模板 https://visualstudiogallery.msdn.microsoft.com/d2e9cac0-66a8-464a-a902-55ae765c8e6e?tduid=(c5f2776eb12ea55b8926d0c075062c9d)(256380)(2459594)(TnL5HPStwNw-gN1OuW5VyKxMyOTAH.bK0w)()
下面是为 UWP 创建代理组件的一个很好的示例, https://xamltips.wordpress.com/2015/11/13/brokered-component-for-uwp-on-windows-10/
欲了解更多信息,请参阅https://msdn.microsoft.com/en-us/library/windows/apps/dn630195.aspx
【讨论】: