优雅的程序性关闭窗口

时间:2014-05-23 08:40:33

标签: c# .net windows

我们在Windows嵌入式目标上运行一个(C#/ .NET)应用程序,只需按一下按钮就可以关闭机器。理想情况下,我希望程序在关闭之前退出并执行清理(包括将连接的硬件置于安全状态)。但是当然程序关闭后我无法执行shutdown命令!那可以这样做吗?

3 个答案:

答案 0 :(得分:2)

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

启动一个发出" shutdown / s"的过程,退出程序。

答案 1 :(得分:1)

实施Application.ApplicationExit事件(winforms),无论如何您的应用程序将被关闭。

MSDN Example

对于WPF:

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


从C#开始,最好的关闭方式是:

shutdown.exe /f /r /t 0

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

当然,在执行此操作之前,您应该执行“清理”程序。

答案 2 :(得分:1)

How to shut down the computer from C#从这里开始:

从Windows XP开始,在win 2000或更低版本中不可用:

这是最快捷的方式:

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

否则像其他人一样使用P / Invoke或WMI说。