如何从在指定访问模式下运行的UWP应用程序中关闭windows平板电脑

本文关键字:应用程序 UWP 平板电脑 windows 运行 模式 访问 | 更新日期: 2023-09-27 18:28:55

我有一个UWP应用程序在没有物理键盘的windows平板电脑上以指定访问模式运行。一旦用户完成操作,我想让用户关闭平板电脑(不能Alt+CTRL+DEL并关闭,因为没有物理键盘)。我知道没有API从UWP关闭平板电脑。但是有什么变通办法吗?Microsoft是如何处理这种情况的?

如何从在指定访问模式下运行的UWP应用程序中关闭windows平板电脑

这在UWP应用程序中是无法实现的,因为它在应用程序容器中运行,并且没有这样的权限。

但是,您可以为侧加载的Windows应用商店应用程序试用代理的Windows运行时组件。从本质上讲,它允许UWP应用程序调用托管在不同进程中的Win32 API,该进程运行在应用程序容器之外。

在您的代理组件内,您可以使用以下代码关闭您的电脑

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