Обработка очистки по окончании процесса - PullRequest
1 голос
/ 17 сентября 2010

Любопытно ... могу ли я справиться с уборкой объекта. Если я убью свое приложение из диспетчера задач.

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 Ответ

2 голосов
/ 17 сентября 2010

Вы не можете. Ваш процесс не может получать никаких уведомлений, когда он убит, потому что это лишило бы цель принудительного завершения процесса (вместо того, чтобы просить его прекратить). Операционная система высвобождает большинство ресурсов для вас, поэтому у вас не должно быть ресурсов, которые нуждаются в ручной очистке - что если компьютер BSODs или я отключили шнур питания?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...