【c# Winform 】如果程序报错后自动退出程序,关闭进程
在做一个客户端软件,加入一台电脑不能同时打开运行软件
C# code
bool isAppRunning = false;
System.Threading.Mutex mutex = new System.Threading.Mutex(
true,
System.Diagnostics.Process.GetCurrentProcess().ProcessName,
out isAppRunning);
if (!isAppRunning)
{
MessageBox.Show("本程序已经在运行了,请不要重复运行!");
Environment.Exit(1);
}
因为这个客户端软件中使用到一些组件,所以需要在使用前安装相关组件驱动,否则启动运行会报错。
如果报错的话,用户关闭了程序窗口,但是程序进程仍然存在。
这时候用户再次开启一个软件窗口,就会提示“本程序已经在运行了,请不要重复运行!”的提示框,无法启动。
只能手动任务管理器中,结束进程,才能重新启动软件。
这样的话,用户体验很不好,有些电脑不熟的用户操作很不方便。
请问下有什么办法解决吗?在程序报错的时候,结束进程?或者是每次启动时,检测关闭上一个进程?
------解决方案--------------------
正常情况下,程序不可能无法关闭,你需要检查多线程的使用和定时器的代码。