protected override void OnStartup(StartupEventArgs e) { AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; base.OnStartup(e); if (e.Args.Length >= 3 && e.Args[0] == "browser") { var rLayoutEngine = e.Args[1]; var rHostProcessID = int.Parse(e.Args[2]); new BrowserWrapper(rLayoutEngine, rHostProcessID); Task.Factory.StartNew(() => { Process.GetProcessById(rHostProcessID).WaitForExit(); Process.GetCurrentProcess().Kill(); }, TaskCreationOptions.LongRunning); return; } StatusBarService.Instance.Initialize(); RecordService.Instance.Initialize(); QuestProgressService.Instance.Initialize(); Preference.Load(); StringResources.Instance.Load(); KanColleProxy.Start(); ShutdownMode = ShutdownMode.OnMainWindowClose; Task.Factory.StartNew(UpdateService.Instance.CheckForUpdate); MainWindow = new MainWindow(); MainWindow.DataContext = Root = new MainWindowViewModel(); MainWindow.Show(); }
protected override void OnStartup(StartupEventArgs e) { DispatcherUtil.UIDispatcher = Dispatcher; Environment.CurrentDirectory = Path.GetDirectoryName(GetType().Assembly.Location); if (!Debugger.IsAttached) { DispatcherUnhandledException += App_DispatcherUnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException; } base.OnStartup(e); if (e.Args.Length >= 3 && e.Args[0] == "browser") { var rLayoutEngine = e.Args[1]; var rHostProcessID = int.Parse(e.Args[2]); new BrowserWrapper(rLayoutEngine, rHostProcessID); Task.Factory.StartNew(() => { Process.GetProcessById(rHostProcessID).WaitForExit(); Process.GetCurrentProcess().Kill(); }, TaskCreationOptions.LongRunning); return; } ThemeManager.Instance.Initialize(this, Accent.Blue); CoreDatabase.Initialize(); DataService.Instance.EnsureDirectory(); RecordService.Instance.Initialize(); QuestProgressService.Instance.Initialize(); MapService.Instance.Initialize(); ExpeditionService.Instance.Initialize(); EnemyEncounterService.Instance.Initialize(); Preference.Instance.Initialize(); Preference.Instance.Reload(); StringResources.Instance.Initialize(); StringResources.Instance.LoadMainResource(Preference.Instance.Language); StringResources.Instance.LoadExtraResource(Preference.Instance.ExtraResourceLanguage); StatusBarService.Instance.Initialize(); CacheService.Instance.Initialize(); NotificationService.Instance.Initialize(); ServiceManager.Register<IBrowserService>(BrowserService.Instance); PluginService.Instance.Initialize(); Preference.Instance.Reload(); ShutdownMode = ShutdownMode.OnMainWindowClose; Task.Factory.StartNew(UpdateService.Instance.CheckForUpdate); if (e.Args.Any(r => r.OICEquals("--background"))) return; var rMainWindow = new MainWindow(); r_MainWindowHandle = rMainWindow.Handle; MainWindow = rMainWindow; MainWindow.DataContext = Root = new MainWindowViewModel(); MainWindow.Show(); }
protected override void OnStartup(StartupEventArgs e) { DispatcherUtil.UIDispatcher = Dispatcher; Environment.CurrentDirectory = Path.GetDirectoryName(GetType().Assembly.Location); if (!Debugger.IsAttached) AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; if (!CheckKB2468871()) { const string Message = @"检测到这台电脑没有安装 KB2468871 补丁。缺少该补丁会让本程序无法正常运行。 「是」-> 退出程序并打开补丁下载页面 「否」-> 退出程序"; if (MessageBox.Show(Message, "缺少必须的补丁", MessageBoxButton.YesNo, MessageBoxImage.Information, MessageBoxResult.Yes) == MessageBoxResult.Yes) Process.Start("https://www.microsoft.com/zh-cn/download/details.aspx?id=3556"); Shutdown(); return; } base.OnStartup(e); if (e.Args.Length >= 3 && e.Args[0] == "browser") { var rLayoutEngine = e.Args[1]; var rHostProcessID = int.Parse(e.Args[2]); new BrowserWrapper(rLayoutEngine, rHostProcessID); Task.Factory.StartNew(() => { Process.GetProcessById(rHostProcessID).WaitForExit(); Process.GetCurrentProcess().Kill(); }, TaskCreationOptions.LongRunning); return; } StringResources.Instance.Initialize(); StatusBarService.Instance.Initialize(); RecordService.Instance.Initialize(); QuestProgressService.Instance.Initialize(); MapService.Instance.Initialize(); ExpeditionService.Instance.Initialize(); EnemyEncounterService.Instance.Initialize(); Preference.Load(); StringResources.Instance.LoadMainResource(Preference.Current.Language); StringResources.Instance.LoadExtraResource(Preference.Current.ExtraResourceLanguage); CacheService.Instance.Initialize(); NotificationService.Instance.Initialize(); PluginService.Instance.Initialize(); KanColleProxy.Start(); ShutdownMode = ShutdownMode.OnMainWindowClose; Task.Factory.StartNew(UpdateService.Instance.CheckForUpdate); if (e.Args.Any(r => r.OICEquals("--background"))) return; MainWindow = new MainWindow(); MainWindow.DataContext = Root = new MainWindowViewModel(); MainWindow.Show(); }