处理清理过程终止

时间:2010-09-17 09:03:09

标签: .net winforms

很好奇..我是否可以处理对象的清理工作。 如果我从任务管理器中删除我的应用程序。

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);
        }
    }

如果我从TASK MANAGER结束我的应用程序,此方法有效。但我想知道,如果我通过终止我的应用程序运行的进程来结束我的应用程序,是否可以进行类似的处理

此致

1 个答案:

答案 0 :(得分:2)

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