读书人

【c# Winform 】如其程序报错后自动退

发布时间: 2012-08-31 12:55:03 作者: rapoo

【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);            }


因为这个客户端软件中使用到一些组件,所以需要在使用前安装相关组件驱动,否则启动运行会报错。
如果报错的话,用户关闭了程序窗口,但是程序进程仍然存在。
这时候用户再次开启一个软件窗口,就会提示“本程序已经在运行了,请不要重复运行!”的提示框,无法启动。
只能手动任务管理器中,结束进程,才能重新启动软件。

这样的话,用户体验很不好,有些电脑不熟的用户操作很不方便。
请问下有什么办法解决吗?在程序报错的时候,结束进程?或者是每次启动时,检测关闭上一个进程?

[解决办法]
正常情况下,程序不可能无法关闭,你需要检查多线程的使用和定时器的代码。

读书人网 >C#

热点推荐