【问题标题】:Windows Universal App - Launch CMD from appWindows 通用应用程序 - 从应用程序启动 CMD
【发布时间】:2015-10-11 10:46:06
【问题描述】:

我正在构建我的第一个 Win 10 应用程序(在 Visual C# 中),我有一个简单的问题。 (我是 Java/Android 人)

我希望能够从我的应用程序运行命令行程序。这将是一个桌面应用程序,我需要能够从应用程序中关闭、重新启动、锁定和中止重新启动。我知道我可以使用 'Shutdown' cmd,但是如何启动它呢?

谢谢!

【问题讨论】:

  • 您无法从通用应用程序关闭 Windows。支持手机和平板电脑的运行时如何为您提供运行 Windows 命令行应用程序的方法?你说你想要一个桌面应用程序。如果你这样做了,那么你应该使用 Windows 窗体或 WPF 编写一个桌面应用程序。通用应用不是桌面应用。
  • @shf301 祝你在 Xbox(另一个通用平台)上找到命令行。
  • 我知道...但我想使用 Cortana 将其连接到关机命令。 Cortana 仅在通用应用中可用。
  • 我没有在 x86 或 x64 Windows 上尝试过,但对于 ARM 设备,您可以执行以下操作:1)为 UWP 添加 Windows IoT 扩展; 2) 编辑项目中的 Package.appxmanifest 文件,并在 Capabilities 部分添加 ,也在包“imports”的同一文件中添加 xmlns:iot="schemas.microsoft.com/appx/manifest/iot/windows10" ,后面在您的代码中添加以下行: ShutdownManager.CancelShutdown(); ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromHours(23.5));
  • 也许在 UWP 的 Windows Destop Extensions 中有一个具有相同参数的 Shutdown Manager

标签: c# windows cmd


【解决方案1】:

任何可以从命令行运行的程序都是可以在没有命令行的情况下运行的程序。例如shutdown;尝试打开运行框 (Win+R) 并输入:

shutdown /r /t 60

您会看到 Windows 警告系统将在 60 秒后重新启动(当然,shutdown /a 将中止关机)。因此,您应该能够使用Process.Start 来运行该命令。无需启动完整的命令行。

【讨论】:

  • 这正是我的问题。我不能使用 Process.Start “类型或命名空间进程不存在...”
  • 您的文件顶部需要using System.DiagnosticsProcess 位于 System.Diagnostics 命名空间中。
  • 就像 Shmuel 所说,在通用 Windows 应用程序中,Process 不支持 System.Diagnostics 类。
  • @crclayton 啊,我没有看到他正在制作 Windows 通用应用程序。我的错。
猜你喜欢
  • 2014-01-24
  • 1970-01-01
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 2017-06-12
相关资源
最近更新 更多