1. 在MainForm中定義註銷、關機事件處理方法
示例MainForm.cs:
using System;
using System.Windows.Forms;
using Microsoft.Win32;
namespace LogoutOrShutdownTest
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
/// <summary>
/// 用戶註銷或關閉系統的事件處理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
internal void SessionEnding(object sender, SessionEndingEventArgs e)
{
Console.WriteLine("正在註銷或關機...");
}
}
}
2. 綁定註銷、關機事件
示例Program.cs:
using System;
using System.Windows.Forms;
using Microsoft.Win32;
namespace LogoutOrShutdownTest
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm mainForm = new MainForm();
//綁定用戶註銷或關閉系統的事件處理方法
SystemEvents.SessionEnding += mainForm.SessionEnding;
Application.Run(mainForm);
}
}
}