| | |
| | | using HMI.Core.Util; |
| | | using HMI.UI.Util; |
| | | using log4net; |
| | | using Microsoft.Win32; |
| | | using Panuon.WPF.UI; |
| | | using System; |
| | | using System.IO; |
| | |
| | | public partial class App : Application |
| | | { |
| | | private ILog log; |
| | | private LogCleanner logCleanner; |
| | | public App() |
| | | { |
| | | log = LogManager.GetLogger("APP"); |
| | |
| | | { |
| | | var ex = e.ExceptionObject as Exception; |
| | | log.Error("UnhandledException.", ex); |
| | | MsgBoxHelper.ErrorMessage(Current.MainWindow, this.lang("App.AppUnhandledException",ex.Message), |
| | | MsgBoxHelper.ErrorMessage(Current.MainWindow, this.lang("App.AppUnhandledException", ex.Message), |
| | | this.lang("App.Error"), MessageBoxButton.OK, |
| | | MessageBoxIcon.Error, DefaultButton.YesOK, 5); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 启动后往注册表写点东西 |
| | | /// </summary> |
| | | private void WriteRegister() |
| | | { |
| | | string Company = "JingCe", Program = "HMI"; |
| | | try |
| | | { |
| | | string registryPath = @$"SOFTWARE\{Company}\{Program}"; |
| | | |
| | | using RegistryKey key = Registry.LocalMachine.CreateSubKey(registryPath, true) |
| | | ?? throw new Exception("无法创建或打开注册表键"); |
| | | string path = AppDomain.CurrentDomain.BaseDirectory; |
| | | key.SetValue("Location", path, RegistryValueKind.String); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.Error("Write Register Failed.", ex); |
| | | } |
| | | } |
| | | |
| | | private static Mutex mutex; |
| | |
| | | mutex = new Mutex(true, "TestPlatform_OnlyRun_CRNS"); |
| | | if (mutex.WaitOne(0, false)) |
| | | { |
| | | WriteRegister(); |
| | | logCleanner = new LogCleanner(); |
| | | AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; |
| | | |
| | | LoggerHelper.Register(new CommonLogger()); |
| | | LangUtil.Load(); |
| | | SystemSetting.SystemSettingChanged += SystemSetting_SystemSettingChanged; |
| | | ToastHelper.Register(new MainToastHandler()); |