diff --git a/src/Snap.Hutao/Snap.Hutao/App.xaml.cs b/src/Snap.Hutao/Snap.Hutao/App.xaml.cs index 443ad36f..5ae271ed 100644 --- a/src/Snap.Hutao/Snap.Hutao/App.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/App.xaml.cs @@ -50,8 +50,6 @@ public sealed partial class App : Application /// 服务提供器 public App(IServiceProvider serviceProvider) { - // DispatcherShutdownMode = DispatcherShutdownMode.OnExplicitShutdown; - // Load app resource InitializeComponent(); activation = serviceProvider.GetRequiredService(); @@ -61,6 +59,14 @@ public sealed partial class App : Application this.serviceProvider = serviceProvider; } + public bool IsExiting { get; private set; } + + public new void Exit() + { + IsExiting = true; + base.Exit(); + } + /// protected override void OnLaunched(LaunchActivatedEventArgs args) { diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/NotifyIcon/NotifyIconController.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/NotifyIcon/NotifyIconController.cs index 2315faf9..fedc4784 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/NotifyIcon/NotifyIconController.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/NotifyIcon/NotifyIconController.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Win32.Foundation; using Snap.Hutao.Win32.UI.WindowsAndMessaging; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs index f103acab..11b01845 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs @@ -136,7 +136,7 @@ internal sealed class XamlWindowController private void OnWindowClosed(object sender, WindowEventArgs args) { - if (LocalSetting.Get(SettingKeys.IsNotifyIconEnabled, true)) + if (LocalSetting.Get(SettingKeys.IsNotifyIconEnabled, true) && !serviceProvider.GetRequiredService().IsExiting) { args.Handled = true; window.Hide(); diff --git a/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs b/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs index c907bac1..a8afe091 100644 --- a/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs @@ -29,8 +29,6 @@ internal sealed partial class MainWindow : Window, IXamlWindowOptionsSource, IMi InitializeComponent(); windowOptions = new(this, TitleBarView.DragArea, new(1200, 741), SettingKeys.WindowRect); this.InitializeController(serviceProvider); - - Closed += OnClosed; } /// @@ -42,13 +40,4 @@ internal sealed partial class MainWindow : Window, IXamlWindowOptionsSource, IMi pInfo.ptMinTrackSize.x = (int)Math.Max(MinWidth * scalingFactor, pInfo.ptMinTrackSize.x); pInfo.ptMinTrackSize.y = (int)Math.Max(MinHeight * scalingFactor, pInfo.ptMinTrackSize.y); } - - private void OnClosed(object sender, WindowEventArgs args) - { - if (LocalSetting.Get(SettingKeys.IsNotifyIconEnabled, true)) - { - args.Handled = true; - this.Hide(); - } - } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json b/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json index a5fb2a14..36a6b395 100644 --- a/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json +++ b/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "Snap.Hutao": { "commandName": "MsixPackage", - "nativeDebugging": false, + "nativeDebugging": true, "doNotLaunchApp": false, "allowLocalNetworkLoopbackProperty": true },