From 3266b6318717c495b9d38474120c1ef845ec9194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Sat, 14 Dec 2024 19:56:38 +0800 Subject: [PATCH] alt use sendInput --- .../Core/Recorder/KeyMouseMacroPlayer.cs | 9 +++++---- .../ViewModel/Pages/HotKeyPageViewModel.cs | 16 ++++++++-------- Fischless.WindowsInput/InputBuilder.cs | 3 +-- 3 files changed, 14 insertions(+), 14 deletions(-) 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() {