我需要编写一个退出应用程序的函数,然后关闭Windows 7。
我已经获得退出应用程序的代码(主窗体中的this.Close())以及关闭Windows(带有各种参数的shutdown.exe)。
这个问题与上述退出和退出方式的正确性无关。
我的问题是: 显然我需要在关闭我的应用程序后调用shutdown.exe,那么最后一个被调用的事件是什么,我应该把我的Windows关闭代码放在哪里? 我的猜测是在FormClosing事件结束时,但这是正确的吗?
我正在使用.net framework 4.5。
欢迎其他建议来实现上述目标。
非常感谢提前!
答案 0 :(得分:1)
尝试AppDomain的ProcessExit事件:
static void OnProcessExit (object sender, EventArgs e)
{
Process.Start("shutdown", "/s /t 00");
}
答案 1 :(得分:1)
啊,不,完全错了。
请参阅......
您的应用程序以Application.Run(someform)开头。这使得当前的线程(启动应用程序的线程)注册为表单的消息循环并处理它的事件。
当这结束时(表格全部关闭),此语句将继续下一行。
所以你可以在主要方法结束时,在Application.Run()之后立即完成你的工作。不需要举办活动。
您的应用程序有一个核心输入方法,如下所示:
public static void Main(string[] args) {
// Starts the application.
Application.Run(new Form1());
}
在Application.Run调用之后,你可以在之前和 - 在你的情况下 - 添加逻辑。
答案 2 :(得分:0)
另一种方法是启动关机 - Windows将向您的程序发送一个关机通知,默认情况下会导致您的程序退出。
答案 3 :(得分:0)
看这里 使用Process.Start(" shutdown",/ t / s / 0");
http://www.codeproject.com/Tips/480049/Shut-Down-Restart-Log-off-or-Lock-your-computer-in