.net 处理进程终止时的清理

.net 处理进程终止时的清理,.net,winforms,.net,Winforms,我很好奇。。我是否可以处理对象的清理。 如果我从任务管理器中终止我的应用程序 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) {

我很好奇。。我是否可以处理对象的清理。 如果我从任务管理器中终止我的应用程序

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (e.CloseReason == CloseReason.TaskManagerClosing)
            {
                e.Cancel = true;
                MessageBox.Show("Application being shutdown from Task Manager","Caution",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            do{}while(true);
        }
    }
如果我从任务管理器结束应用程序,则此方法有效。但我想知道,如果我通过终止应用程序运行的进程来结束应用程序,是否可以进行类似的处理


你不能。您的进程在被终止时无法获得任何通知,因为这会破坏强制终止进程的目的(而不是要求它终止)。操作系统为您释放了大部分资源,因此您不应该有任何需要手动清理的资源-如果计算机BSODs或我拔出电源线怎么办