在之前有介紹過 C# 模擬鍵盤按鍵事件 ,並沒有使用到第三方套件,但是使用起來非常麻煩,還有一些小問題。後來筆者找到這個好用的第三方套件,要模擬鍵盤和滑鼠操作都非常容易。
參考資料:
Github - HavenDV/H.InputSimulator
安裝
先使用 NuGet 安裝 H.InputSimulator 套件,或是使用 .NET CLI 執行以下指令安裝
dotnet add package H.InputSimulator
模擬滑鼠事件
var mouse = new InputSimulator().Mouse;
mouse.LeftButtonDown();// 按下滑鼠左鍵
mouse.MoveMouseBy(50, 100); // 滑鼠移動相對位子 // 往右 50, 往下 100
mouse.LeftButtonUp(); // 放開滑鼠左鍵
mouse.MoveMouseTo(50000, 300); // 滑鼠移動到指定位子, x: 500, y: 300
mouse.RightButtonClick(); // 點擊滑鼠右鍵
mouse.VerticalScroll(-100); // 垂直捲動 // 往下 100
mouse.Sleep(1000); // 等待 1 秒
mouse.HorizontalScroll(100); // 水平捲動 // 往右 100
mouse.MiddleButtonClick(); // 點擊滑鼠中鍵
模擬鍵盤事件
var keyboard = new InputSimulator().Keyboard;
// 按下 Ctrl + Alt + S
keyboard
.KeyDown(VirtualKeyCode.LCONTROL)
.KeyDown(VirtualKeyCode.LMENU)
.KeyDown(VirtualKeyCode.VK_S);
// 放開 Ctrl + Alt + S
keyboard
.KeyUp(VirtualKeyCode.LCONTROL)
.KeyUp(VirtualKeyCode.LMENU)
.KeyUp(VirtualKeyCode.VK_S);
keyboard
.KeyDown(VirtualKeyCode.LSHIFT)
.KeyPress(VirtualKeyCode.VK_A)
.KeyPress(VirtualKeyCode.VK_B)
.KeyPress(VirtualKeyCode.VK_C)
.KeyUp(VirtualKeyCode.LSHIFT)
.Sleep(2000)
.KeyPress(VirtualKeyCode.BACK)
.KeyPress(VirtualKeyCode.BACK)
.KeyPress(VirtualKeyCode.BACK);
組合使用
new InputSimulator()
.Keyboard
.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.VK_R)
.Sleep(1000)
.KeyPress(VirtualKeyCode.RETURN)
.Sleep(1000)
.KeyDown(VirtualKeyCode.LWIN)
.KeyDown(VirtualKeyCode.UP)
.KeyUp(VirtualKeyCode.UP)
.KeyUp(VirtualKeyCode.LWIN)
.Sleep(1000)
.Mouse
.MoveMouseToPositionOnVirtualDesktop(100, 100)
.RightButtonClick()
.Sleep(1000)
.Keyboard
.KeyDown(VirtualKeyCode.VK_C)
;
參考資料:
Github - HavenDV/H.InputSimulator
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com