From 1a08c65c0d026a4800e63c23eac38f3b406cb53a Mon Sep 17 00:00:00 2001 From: Space Time Date: Fri, 20 Dec 2024 21:18:57 +0800 Subject: [PATCH] =?UTF-8?q?1.1.3=20->=201.1.4=20=E7=AC=AC92=E6=AC=A1?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Consts/MainConst.cs | 2 ++ Wins/MainWin.xaml.cs | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Consts/MainConst.cs b/Consts/MainConst.cs index dff3caa..e65dfe8 100644 --- a/Consts/MainConst.cs +++ b/Consts/MainConst.cs @@ -40,6 +40,8 @@ internal abstract partial class MainConst : MainMultilangConst internal static string MihomoConfPath => Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase!, "config.yaml"); internal static string[] MihomoNameServers => ["https://doh.apad.pro/dns-query", "https://ns.net.kg/dns-query"]; + internal static string NotifyIconText => "Sheas Cealer"; + [GeneratedRegex(@"^(https?:\/\/)?[a-zA-Z0-9](-*[a-zA-Z0-9])*(\.[a-zA-Z0-9](-*[a-zA-Z0-9])*)*(:\d{1,5})?(\/[a-zA-Z0-9.\-_\~\!\$\&\'\(\)\*\+\,\;\=\:\@\%]*)*$")] internal static partial Regex UpstreamUrlRegex(); diff --git a/Wins/MainWin.xaml.cs b/Wins/MainWin.xaml.cs index e0c111d..3a48911 100644 --- a/Wins/MainWin.xaml.cs +++ b/Wins/MainWin.xaml.cs @@ -15,6 +15,7 @@ using System.Net; using System.Net.Http; using System.Net.NetworkInformation; using System.Net.Sockets; +using System.Reflection; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Text; @@ -760,7 +761,23 @@ public partial class MainWin : Window } private void MainWin_KeyDown(object sender, KeyEventArgs e) { - if (e.KeyboardDevice.Modifiers == ModifierKeys.Control && e.Key == Key.W) + if (e.KeyboardDevice.Modifiers != ModifierKeys.Control) + return; + + if (e.Key == Key.W) Application.Current.Shutdown(); + else if (e.Key == Key.H) + { + System.Windows.Forms.NotifyIcon notifyIcon = new() { Icon = System.Drawing.Icon.ExtractAssociatedIcon(Assembly.GetExecutingAssembly().Location), Text = MainConst.NotifyIconText, Visible = true }; + + notifyIcon.Click += (_, _) => + { + Show(); + + notifyIcon.Dispose(); + }; + + Hide(); + } } } \ No newline at end of file