From 4164ac020671c0c378ef3f1759d6294e67bcf72f Mon Sep 17 00:00:00 2001 From: wangbing Date: Thu, 25 Sep 2025 13:31:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/xyz/wbsite/sikulix/屏幕找图.java | 1 + .../java/xyz/wbsite/sikulix/键盘操作.java | 56 +++++++++++++++++++ .../java/xyz/wbsite/sikulix/鼠标操作.java | 12 ++++ 3 files changed, 69 insertions(+) create mode 100644 src/main/java/xyz/wbsite/sikulix/键盘操作.java diff --git a/src/main/java/xyz/wbsite/sikulix/屏幕找图.java b/src/main/java/xyz/wbsite/sikulix/屏幕找图.java index f9e0f2c..9e6aa08 100644 --- a/src/main/java/xyz/wbsite/sikulix/屏幕找图.java +++ b/src/main/java/xyz/wbsite/sikulix/屏幕找图.java @@ -3,6 +3,7 @@ package xyz.wbsite.sikulix; import cn.hutool.core.util.StrUtil; import org.sikuli.script.FindFailed; import org.sikuli.script.Match; +import org.sikuli.script.Region; import org.sikuli.script.Screen; import org.sikuli.script.Pattern; diff --git a/src/main/java/xyz/wbsite/sikulix/键盘操作.java b/src/main/java/xyz/wbsite/sikulix/键盘操作.java new file mode 100644 index 0000000..70fd9b6 --- /dev/null +++ b/src/main/java/xyz/wbsite/sikulix/键盘操作.java @@ -0,0 +1,56 @@ +package xyz.wbsite.sikulix; + + +import org.sikuli.script.FindFailed; +import org.sikuli.script.Key; +import org.sikuli.script.KeyModifier; +import org.sikuli.script.Screen; + +import java.awt.*; +import java.awt.datatransfer.StringSelection; + +public class 键盘操作 { + + public static void main(String[] args) throws FindFailed { + Screen screen = new Screen(); + + // 键盘按单个字母 + screen.type("A"); + screen.type("B"); + screen.type("C"); + + // 可以批量输入(不能含汉字) + screen.type("Hello World"); + + // 要输入的中文,需要通过复制实现 + { + String text = "你好,世界!"; + // 复制到剪贴板 + Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(text), null); + // 粘贴 (Ctrl+V) + screen.type("v", KeyModifier.CTRL); + } + + // 按Enter键 + screen.type(Key.ENTER); + + // 修饰符: + // KeyModifier.CTRL - Ctrl 键 + // KeyModifier.SHIFT - Shift 键 + // KeyModifier.ALT - Alt 键 + // KeyModifier.WIN - Windows 键 + // KeyModifier.COMMAND - Mac 的 Command 键 + // KeyModifier.OPTION - Mac 的 Option 键 + // Ctrl+A 全选 + screen.type("a", KeyModifier.CTRL); + + // 按住Shift键 + screen.keyDown(Key.SHIFT); + + // 释放Shift键 + screen.keyUp(Key.SHIFT); + + // 激活输入框后输入文本 + // screen.click("input_field.png"); + } +} diff --git a/src/main/java/xyz/wbsite/sikulix/鼠标操作.java b/src/main/java/xyz/wbsite/sikulix/鼠标操作.java index fc9b38e..1ee339d 100644 --- a/src/main/java/xyz/wbsite/sikulix/鼠标操作.java +++ b/src/main/java/xyz/wbsite/sikulix/鼠标操作.java @@ -6,6 +6,18 @@ import org.sikuli.script.Mouse; public class 鼠标操作 { public static void main(String[] args) { + // 移动到指定位置 Mouse.move(new Location(100, 100)); + // 相对移动 + Mouse.move(100,100); + // 点击 + Mouse.at().click(); + // 双击 + Mouse.at().doubleClick(); + // 右键点击 + Mouse.at().rightClick(); + // 中键点击 + Mouse.click(Mouse.at(),"M"); + } }