using HMI.Core.Setting; using HMI.Core.Util; using HMI.UI.Util; using log4net; using Panuon.WPF.UI; using System; using System.Threading; using System.Windows; using WPFProject.Utils; namespace WPFProject { /// /// App.xaml 的交互逻辑 /// public partial class App : Application { private ILog log; public App() { log = LogManager.GetLogger("APP"); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; } private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { var ex = e.ExceptionObject as Exception; log.Error("UnhandledException.", ex); MsgBoxHelper.ErrorMessage(Current.MainWindow, this.lang("App.AppUnhandledException",ex.Message), this.lang("App.Error"), MessageBoxButton.OK, MessageBoxIcon.Error, DefaultButton.YesOK, 5); } private static Mutex mutex; private void Application_Startup(object sender, StartupEventArgs e) { mutex = new System.Threading.Mutex(true, "TestPlatform_OnlyRun_CRNS"); if (mutex.WaitOne(0, false)) { LangUtil.Load(); SystemSetting.SystemSettingChanged += SystemSetting_SystemSettingChanged; ToastHelper.Register(new MainToastHandler()); //LoadingWindow window = new LoadingWindow(); Login window = new Login(); window.Show(); } else { MessageBox.Show("程序已经在运行!", "提示"); this.Shutdown(); } } private void SystemSetting_SystemSettingChanged(object sender, SystemSetting e) { LangUtil.LoadLang(); } } }