将关闭 我正在使用c#语言为Windows 8.1开发一个metro应用程序
使用库
using System.Diagnostics; using System.Runtime.InteropServices;
行动是
“过程”中的private void Button_Click(object sender, RoutedEventArgs e) { Process.Start("shutdown", "/s /t 0"); }
红色栏
所以为什么它无法读取进度,还有其他任何方法,谢谢
答案 0 :(得分:7)
Metro应用程序只有可用的有限类子集,Process
类是已删除的类之一。如果您在查看namespace view时某个类在MSDN上没有Windows应用商店图标(),则该类无法在metro应用中使用。
Metro应用程序是沙箱式的,无法与其他进程交互,也无法自行生成新进程,因此除非您愿意将应用程序设置为桌面应用程序而非Metro应用程序,否则无法运行shutdown.exe
。
看一看“Alternatives to Windows APIs in Windows Store apps”,您可以看到没有等效于User: shutdown
API的地铁。
如果您绝对不想创建桌面应用程序,但仍希望能够关闭其他唯一的工作,我可以想到的是有第二个程序作为您的metro应用程序可以作为系统服务运行通过某种形式的IPC进行交流。这样您就可以让您的metro应用程序向服务发送请求,然后该服务将实际启动关闭命令。