应用程序的最后一个退出点

本文关键字:出点 退出 最后一个 应用程序 | 更新日期: 2023-09-27 17:50:17

我需要写一个函数,退出我的应用程序,然后关闭Windows 7。

我已经获得了退出应用程序的代码(主窗体中的this.Close())和关闭Windows(带有各种参数的shutdown.exe)。

这个问题与上述退出和关闭方式的正确性无关。

我的问题是:显然,我需要在关闭应用程序后调用shutdown.exe,那么调用的最后一个事件是什么,我应该把我的Windows关机代码放在哪里?我的猜测是在FormClosing事件结束时,但这是正确的吗?

我正在使用。net framework 4.5.

欢迎提出其他建议以实现以上目标。

提前感谢!

应用程序的最后一个退出点

尝试AppDomain的ProcessExit事件:

static void OnProcessExit (object sender, EventArgs e)
{
    Process.Start("shutdown", "/s /t 00");
}

啊,不,完全错了。

看到……

应用程序以application开头。运行(someform)。这使得当前线程(启动应用程序的线程)注册为表单的消息循环,并处理它的事件。

当这个结束时(所有的表单都是关闭的),这个语句从下一行继续,

所以你可以在主方法的末尾,在Application之后做你的工作。Run()。不需要事件

您的应用程序有一个像这样的核心入口方法:

public static void Main(string[] args) {
    // Starts the application.
    Application.Run(new Form1());
 }

您可以在应用程序之前和之后添加逻辑。调用运行。

另一种方法是直接启动关闭- Windows将向您的程序发送关闭通知,默认情况下会导致程序退出。

看这里使用过程。Start("shutdown",/t/s/0");

http://www.codeproject.com/Tips/480049/Shut-Down-Restart-Log-off-or-Lock-your-computer-in