我有一个 UWP 应用程序在没有物理键盘的 Windows 平板电脑上以指定访问模式运行。用户完成操作后,我想让用户关闭平板电脑(不能按 Alt+CTRL+DEL 并关闭,因为没有物理键盘)。我知道 UWP 没有 API 可以关闭平板电脑。但是有什么解决方法吗? Microsoft 如何处理这种情况?
最佳答案
这在 UWP 应用程序中是无法实现的,它在 App Container 中运行,并且没有这样的特权。
但是,您可以为旁加载的 Windows 应用商店应用试用 Brokered Windows Runtime Components。本质上,它允许您的 UWP 应用程序调用托管在不同进程中的 Win32 API,该进程在应用程序容器之外运行。
在您的代理组件中,您可以使用以下代码关闭您的 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
关于c# - 如何从以指定访问模式运行的 UWP 应用程序关闭 Windows 平板电脑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34604593/