C# Закрытие приложения и выполнения кода

Как сделать чтобы при нажатие крестика приложения, выполнялся какой-то код?

В приложении я выполняю эту команду:

Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\DirectDraw").SetValue("VGABuffer", 0x1433331);

После закрытия мне нужно чтобы была выполнена эта команда:

Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\DirectDraw").DeleteValue("DisableDDSCAPSInDDSD");

Ответы (2 шт):

Автор решения: S.H.

Вам в комментарии tym32167 привел правильную ссылку. На более общий способ.

Но, возможно, Вам нужен способ немного проще. Вот этот пример - совсем простой:

    using System.ComponentModel;
    using System.Windows.Forms;

    namespace Exp2
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                Closing += ExecuteOnClosing;
            }

            void ExecuteOnClosing(object sender, CancelEventArgs e){
                MessageBox.Show("Меня закрывают!");
            }

        }
    }
→ Ссылка
Автор решения: John Nix

Сделайте событие закрытия формы.

private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
{
    
    if (MessageBox.Show("Закрыть?", "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.No)
                                    e.Cancel = true;
}
→ Ссылка