0

これは私のC#コードです:

    void main()
    {
        SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding);
    }

    void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
    {
        Console.WriteLine(e.Reason);
    }

なんというか、アウトプットがない。理由はありますか?

4

2 に答える 2

1

http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx (例 2) は、Windows サービスの SystemEvents に関するすべてをほぼ説明しています。

于 2012-06-18T10:23:51.033 に答える
0

MSDN の備考セクションに一致します。

Windows フォームで SessionEnding を使用してシステムのログオフまたは再起動を検出している場合、このイベントの前に Closing イベントが発生するかどうかを決定する方法はありません。

したがって、このイベントに依存したり、何らかの方法Closingでイベントを処理してニーズを達成したりしないでください。

更新します。もっと重要なこと:

コンソール アプリケーションは、SessionEnding イベントを発生させません。

于 2012-06-18T10:22:56.727 に答える