Отловить закрытие Windows

Если программа работает в фоновом режиме, нажатие на "х" не закрывает ее, переводит в

ShowWindow(Handle, 0);

а, перед закрытии Windows, в программе надо провести сохранение каких-то параметров, потом закрыть ее и закрыть Windows?


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

Автор решения: BerryTerry8333

Используй событие SystemEvents.SessionEnding

using System;
using System.IO;
using Microsoft.Win32;

class Program
{
        static void Main()
        {
            //Добавляем в событие метод autosave()
            SystemEvents.SessionEnding += new SessionEndingEventHandler(autosave);

            //Просто чтобы консоль не закрывалась
            Console.WriteLine("tap any button for close window");
            Console.ReadKey();
        }

        //Собственно сам autosave:
        static void autosave(object sender, SessionEndingEventArgs e)
        {
            //Записаваем файл Readme.txt
            StreamWriter sw = new StreamWriter("Readme.txt");
            sw.WriteLine("The automaticly saved file.");
            sw.Close();
        }
}
→ Ссылка