using MahApps.Metro.Controls; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; using System.Windows; namespace Audit { /// /// App.xaml 的交互逻辑 /// public partial class App : Application { /// /// App.xaml 的交互逻辑 /// public App() { this.Startup += new StartupEventHandler(App_Startup); this.DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(App_DispatcherUnhandledException); } System.Threading.Mutex mutex; void App_Startup(object sender, StartupEventArgs e) { bool ret; mutex = new System.Threading.Mutex(true, "ElectronicNeedleTherapySystem", out ret); if (!ret) { MessageBox.Show("SC:审计管理已启动"); Environment.Exit(0); } } protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); //UI线程的异常捕捉 this.DispatcherUnhandledException += App_DispatcherUnhandledException; } private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { e.Handled = true; if (e.Exception.InnerException == null) { MessageBox.Show("(1)发生了一个错误!请联系开发人员!" + Environment.NewLine + "(2)错误源:" + e.Exception.Source + Environment.NewLine + "(3)详细信息:" + e.Exception.Message + Environment.NewLine // + "(4)报错区域:" + e.Exception.StackTrace ); } else { MessageBox.Show("(1)发生了一个错误!请联系开发人员!" + Environment.NewLine + "(2)错误源:" + e.Exception.InnerException.Source + Environment.NewLine + "(3)错误信息:" + e.Exception.Message + Environment.NewLine + "(4)详细信息:" + e.Exception.InnerException.Message + Environment.NewLine // + "(5)报错区域:" + e.Exception.InnerException.StackTrace ); } } } }