我有一个控制台应用程序,其运行类似于Windows应用程序(背景),但是当我启动应用程序时,它在1秒内关闭。我有系统事件SessionEnding,如何在应用此事件时暂停应用程序?
static void Main(string[] args)
{
SystemEvents.SessionEnding += new SessionEndingEventHandler(Session_Ending);}
static void Session_Ending(object sender,SessionEndingEventArgs e)
{
switch (e.Reason)
{
case SessionEndReasons.Logoff: { Add_Log(DataCombine(0, "LogOut")); q = SendData(DataCombine(1, "LogOut")); Check(q); break; }
case SessionEndReasons.SystemShutdown: { Add_Log(DataCombine(0, "ShutDown")); q = SendData(DataCombine(1, "ShutDown")); Check(q); break; }
}
}
答案 0 :(得分:1)
Thread.Sleep(Timeout.Infinite);
或者,如果您需要消息循环:
Application.Run();
答案 1 :(得分:1)
此外,您可以使用“ Start Without Debugging ”选项执行程序,或者在方法结束时实现Console.ReadLine()
语句,然后程序将等待用户的输入然后终止。