0

我的 WindowsForms 应用程序使用 WCF 服务来发送信息以存储在我的服务器上。当 Windows 启动并且用户登录时,它开始工作。但是当用户关闭操作系统时,Windows(操作系统)会向用户显示一个“结束任务窗口”来结束我的应用程序的任务。

  1. 为什么 windows 会显示“结束任务窗口”?
  2. 我该如何处理?
4

1 回答 1

2

您正在寻找SystemEvents.SessionEnding活动。您可能还需要取消任何正在进行的 WCF 查询。

如果您已经处理了这是您的From.Closing事件,则可以改用 MSDN 中的以下代码段:

private static int WM_QUERYENDSESSION = 0x11;

private static bool systemShutdown = false;

protected override void WndProc(ref System.Windows.Forms.Message m)
{
    if (m.Msg == WM_QUERYENDSESSION)
    {
        systemShutdown = true;
    }

    // If this is WM_QUERYENDSESSION, the closing event should be
    // raised in the base WndProc.
    base.WndProc(ref m);

}

然后在您的Form.Closing处理程序中,您可以决定如何处理即将发生的系统关闭事件。

于 2013-02-15T18:32:05.660 回答