优雅的程序关闭窗口

本文关键字:窗口 程序 | 更新日期: 2023-09-27 18:04:56

我们有一个运行在Windows嵌入式目标上的(c#/. net)应用程序,它需要在按下按钮时关闭机器。理想情况下,我希望程序在关闭发生之前退出并执行清理(包括将附加的硬件置于安全状态)。当然,一旦程序关闭,我就不能执行shutdown命令了!这能做到吗?

优雅的程序关闭窗口

当然可以做到,而且很容易。

启动一个发出"shutdown/s"的进程,然后退出程序

如何从c#中关闭计算机:

适用于windows XP,在win2000或更低版本中不可用:

这是最快的方法:

Process.Start("shutdown","/s /t 0");

实现Application.ApplicationExit事件(winforms),它将在您的应用程序被关闭的任何情况下被调用。

MSDN的例子。为WPF:

https://stackoverflow.com/a/20347268/558018


在c#中,最好的关闭方式是:

shutdown.exe /f /r /t 0

通过Process.Start(..)执行代码,您的计算机将立即开始其关机过程。

当然,在执行此操作之前,您应该执行"清理"过程。