C#Windows应用程序阻止Windows关闭/注销

ari*_*rik 4 c# windows logoff handler

我编写了一个C#Windows窗体应用程序,而不是一个服务(它仅在用户登录并具有图形用户界面时使用),后台线程在无限循环中运行.

然而,当我尝试关闭Windows(7)时,它告诉我程序阻止它关闭或注销,并询问我是否要强制关闭.

现在,我的程序是否有可能意识到(获取处理程序)Windows尝试退出或注销?

所以,我需要的是在Windows尝试退出时使应用程序实现.

提前致谢.

编辑:谢谢你的好建议!如果它有一个CANCEL事件处理程序,它是否可以以任何方式使用表单结束事件?

Don*_*Don 10

public Form1()
{
    InitializeComponent();

    this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
}

void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    // Or any of the other reasons suitable for what you want to accomplish
    if (e.CloseReason == CloseReason.WindowsShutDown)
    {
        //Stop your infinite loop
    }
}
Run Code Online (Sandbox Code Playgroud)


Hen*_*man 5

你称该线程为"后台线程",但它有IsBackground = true;吗?
系统只会停止一个线程.