diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/HotKey/HotKeyCombination.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/HotKey/HotKeyCombination.cs index eddc9fd7..c1006677 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/HotKey/HotKeyCombination.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/HotKey/HotKeyCombination.cs @@ -5,6 +5,7 @@ using CommunityToolkit.Mvvm.ComponentModel; using Snap.Hutao.Core.LifeCycle; using Snap.Hutao.Core.Setting; using Snap.Hutao.Model; +using Snap.Hutao.Service.Notification; using Snap.Hutao.Win32.Foundation; using Snap.Hutao.Win32.UI.Input.KeyboardAndMouse; using System.Text; @@ -17,6 +18,7 @@ namespace Snap.Hutao.Core.Windowing.HotKey; internal sealed class HotKeyCombination : ObservableObject { private readonly ICurrentWindowReference currentWindowReference; + private readonly IInfoBarService infoBarService; private readonly RuntimeOptions runtimeOptions; private readonly string settingKey; @@ -37,6 +39,7 @@ internal sealed class HotKeyCombination : ObservableObject public HotKeyCombination(IServiceProvider serviceProvider, string settingKey, int hotKeyId, HOT_KEY_MODIFIERS defaultModifiers, VirtualKey defaultKey) { currentWindowReference = serviceProvider.GetRequiredService(); + infoBarService = serviceProvider.GetRequiredService(); runtimeOptions = serviceProvider.GetRequiredService(); this.settingKey = settingKey; @@ -186,6 +189,12 @@ internal sealed class HotKeyCombination : ObservableObject HWND hwnd = currentWindowReference.GetWindowHandle(); BOOL result = RegisterHotKey(hwnd, hotKeyId, Modifiers, (uint)Key); registered = result; + + if (!result) + { + infoBarService.Warning(SH.FormatCoreWindowHotkeyCombinationRegisterFailed(SH.ViewPageSettingKeyShortcutAutoClickingHeader, DisplayName)); + } + return result; } diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index 588d9262..1639e0b2 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -186,6 +186,9 @@ 未检测到 WebView2 运行时 + + [{0}] 热键 [{1}] 注册失败 + 导出