如何退出应用程序(电脑软件如何退出)

小编:小丢 更新时间:2022-08-24

我们知道,一般情况下的线程执行完指定的任务之后是会关闭的,但是对于一些循环类线程,或者忘记关掉的线程时,这个时候就需要我们手动将之强制关闭。用以下三个中的一个即可尝试强制关闭线程:Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口。System.Environment.Exit(0);//终止当前进程并为基础操作系统提供指定的退出代码Process.GetCurrentProcess().Kill();//终止当前正在运行的线程但是这些方法都是强制关闭,那么我们如何使用Application.Exit();正常的关闭整个程序呢?这个时候我们要引用下微软对Application.Exit();的解释了:Application.Exit();// 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口我们看的非常清楚,停止在所有线程上运行的所有消息循环,新开的进程属于另一个domain(域),你要搞清楚的是进程不等于线程,application.exit();是关闭当前进程的所有线程,不能关闭它创建的进程。所以,我们可以这样理解Application.Exit();Application.Exit();// 方法停止在当前进程上的所有线程上运行的所有消息循环,并关闭当前进程上的应用程序的所有窗口。所以,我们要想在当前进程上使用Application.Exit();关闭其他进程,就要把其他的进程设置为当前进程的后台进程(IsBackground),而当在主线程中创建了一个线程时,那么该线程的IsBackground默认是设置为FALSE_的。当主线程退出的时候,IsBackground=FALSE的线程还会继续执行下去,直到线程执行结束。只有IsBackground=TRUE的线程才会随着主线程的退出而退出。当初始化一个线程,把Thread.IsBackground=TRUE的时候,指示该线程为后台线程。后台线程将会随着主线程的退出而退出。因此我们在创建完进程之后要在后面加上一句:IsBackground=TURE;然后它才可以被当前进程所控制,然后才可以用Application.Exit();结束。