diff --git a/BetterGenshinImpact/Core/Recorder/KeyMouseMacroPlayer.cs b/BetterGenshinImpact/Core/Recorder/KeyMouseMacroPlayer.cs index 70798667..c9fc619c 100644 --- a/BetterGenshinImpact/Core/Recorder/KeyMouseMacroPlayer.cs +++ b/BetterGenshinImpact/Core/Recorder/KeyMouseMacroPlayer.cs @@ -12,6 +12,7 @@ using System.Text.Json; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; +using Fischless.WindowsInput; using Vanara.PInvoke; using Wpf.Ui.Violeta.Controls; @@ -70,9 +71,9 @@ public class KeyMouseMacroPlayer { case MacroEventType.KeyDown: var vkDown = (User32.VK)e.KeyCode!; - if (vkDown is User32.VK.VK_MENU or User32.VK.VK_LMENU) + if (InputBuilder.IsExtendedKey(vkDown)) { - TaskContext.Instance().PostMessageSimulator.KeyDown(vkDown); + Simulation.SendInput.Keyboard.KeyDown(false, vkDown); } else { @@ -83,9 +84,9 @@ public class KeyMouseMacroPlayer case MacroEventType.KeyUp: var vkUp = (User32.VK)e.KeyCode!; - if (vkUp is User32.VK.VK_MENU or User32.VK.VK_LMENU) + if (InputBuilder.IsExtendedKey(vkUp)) { - TaskContext.Instance().PostMessageSimulator.KeyUp(vkUp); + Simulation.SendInput.Keyboard.KeyDown(false, vkUp); } else { diff --git a/BetterGenshinImpact/ViewModel/Pages/HotKeyPageViewModel.cs b/BetterGenshinImpact/ViewModel/Pages/HotKeyPageViewModel.cs index 12556350..767c0ac2 100644 --- a/BetterGenshinImpact/ViewModel/Pages/HotKeyPageViewModel.cs +++ b/BetterGenshinImpact/ViewModel/Pages/HotKeyPageViewModel.cs @@ -568,20 +568,20 @@ public partial class HotKeyPageViewModel : ObservableObject, IViewModel // 领取纪行奖励 // Task.Run(async () => { await new ClaimBattlePassRewardsTask().Start(new CancellationToken()); }); - + // 领取邮件奖励 // Task.Run(async () => { await new ClaimMailRewardsTask().Start(new CancellationToken()); }); - + // 拾取物品 // Task.Run(async () => { await new ScanPickTask().Start(new CancellationToken()); }); - - // Simulation.SendInput.Keyboard.KeyDown(User32.VK.VK_LMENU); - TaskContext.Instance().PostMessageSimulator.KeyDown(User32.VK.VK_MENU); + + Simulation.SendInput.Keyboard.KeyDown(false, User32.VK.VK_LMENU); + // TaskContext.Instance().PostMessageSimulator.KeyDown(User32.VK.VK_MENU); Thread.Sleep(500); - GameCaptureRegion.GameRegion1080PPosMove(200,100); + GameCaptureRegion.GameRegion1080PPosMove(200, 100); Thread.Sleep(500); - TaskContext.Instance().PostMessageSimulator.KeyUp(User32.VK.VK_MENU); - // Simulation.SendInput.Keyboard.KeyUp(User32.VK.VK_LMENU); + // TaskContext.Instance().PostMessageSimulator.KeyUp(User32.VK.VK_MENU); + Simulation.SendInput.Keyboard.KeyUp(false, User32.VK.VK_LMENU); } )); debugDirectory.Children.Add(new HotKeySettingModel( diff --git a/Fischless.WindowsInput/InputBuilder.cs b/Fischless.WindowsInput/InputBuilder.cs index 3558fdcf..cc21ed93 100644 --- a/Fischless.WindowsInput/InputBuilder.cs +++ b/Fischless.WindowsInput/InputBuilder.cs @@ -2,8 +2,7 @@ using Vanara.PInvoke; namespace Fischless.WindowsInput; - -internal class InputBuilder : IEnumerable, IEnumerable +public class InputBuilder : IEnumerable, IEnumerable { public InputBuilder() {