`

Java使用Robot操作键盘和鼠标

    博客分类:
  • java
 
阅读更多

Java提供操作键盘和鼠标的API,在java.awt.*包中,官方API参见此处,下面是个简单的例子:

    package com.yeetrack.robot;

    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.event.InputEvent;
    import java.awt.event.KeyEvent;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;

    /**
    * Created with IntelliJ IDEA.
    * User: victor
    * Date: 13-9-26
    * Time: 上午10:03
    */
    public class RobotTest
    {
        public static void main(String[] args) throws AWTException,         InterruptedException, IOException
        {

            Robot robot = new Robot();
            //设置Robot产生一个动作后的休眠时间,否则执行过快
            robot.setAutoDelay(1000);

           //获取屏幕分辨率
            Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
            System.out.println(d);
            Rectangle screenRect = new Rectangle(d);
            //截图
            BufferedImage bufferedImage =       robot.createScreenCapture(screenRect);
            //保存截图
            File file = new File("screenRect.png");
            ImageIO.write(bufferedImage, "png", file);

            //移动鼠标
            robot.mouseMove(500, 500);

            //点击鼠标
            //鼠标左键
            System.out.println("单击");
            robot.mousePress(InputEvent.BUTTON1_MASK);
            robot.mouseRelease(InputEvent.BUTTON1_MASK);

            //鼠标右键
            System.out.println("右击");
            robot.mousePress(InputEvent.BUTTON3_MASK);
            robot.mouseRelease(InputEvent.BUTTON3_MASK);

            //按下ESC,退出右键状态
            System.out.println("按下ESC");
            robot.keyPress(KeyEvent.VK_ESCAPE);
            robot.keyRelease(KeyEvent.VK_ESCAPE);
            //滚动鼠标滚轴
            System.out.println("滚轴");
            robot.mouseWheel(5);

            //按下Alt+TAB键
            robot.keyPress(KeyEvent.VK_ALT);
            for(int i=1;i<=2;i++)
            {
                robot.keyPress(KeyEvent.VK_TAB);
                robot.keyRelease(KeyEvent.VK_TAB);
            }
            robot.keyRelease(KeyEvent.VK_ALT);

        }
    }
分享到:
评论

相关推荐

    Java Robot 类模拟键盘按键和鼠标点击(全局模拟)

    在Java编程语言中,`java.awt.Robot`类是一个强大的工具,它允许程序模拟用户的键盘输入和鼠标操作。这个功能在自动化测试、脚本编写、甚至是游戏辅助等场景中非常有用。下面我们将深入探讨`Robot`类的工作原理、...

    java模拟键盘鼠标

    在Java编程语言中,模拟键盘和鼠标操作是一项实用的技术,特别是在自动化测试、脚本编写以及无人值守的任务执行等场景中。这个"java模拟键盘鼠标"的项目,从描述来看,主要是用于批量登录QQ账号,这涉及到Java自动化...

    java开发模拟鼠标键盘操作

    首先,需要定位到游戏窗口(可能需要使用`java.awt.Window`或`java.awt.Frame`类),然后通过`Robot`对象模拟的鼠标键盘操作可以实现对游戏的自动化控制。 5. **注意事项**: - 模拟输入操作可能会受到系统的安全...

    java模拟鼠标键盘操作demo

    总的来说,Java的`Robot`类为我们提供了强大的能力,能够模拟各种鼠标和键盘操作,从而实现自动化任务。通过深入理解`Robot`类及其相关方法,我们可以构建出复杂且灵活的自动化脚本。在处理大量重复性工作时,这种...

    java 程序控制键盘鼠标

    Java中控制键盘鼠标主要依赖于`java.awt.Robot`类。`Robot`类提供了一系列方法用于模拟鼠标键盘的操作,例如移动鼠标、点击鼠标按钮以及发送键盘事件等。该类需要通过调用`Robot()`构造函数创建实例,这通常需要系统...

    java控制windows鼠标键盘

    在Java编程环境中,控制Windows操作系统中的鼠标和键盘是一项常见的需求,尤其在自动化测试、远程桌面控制或者模拟用户交互等场景中。本项目名为"java控制windows鼠标键盘",旨在提供一个工具箱,允许开发者通过调用...

    深入Java Robot实现控制鼠标和键盘的方法详解

    Java.awt.Robot 类是Java标准库提供的一种强大的工具,它允许程序模拟用户对计算机系统的输入操作,包括鼠标移动、点击和键盘按键。这在进行自动化测试、屏幕截图或者创建模拟用户交互的应用程序时非常有用。在本文...

    RobotUtil_JavaRobot_JavaRobot工具类_robot_

    在Java编程语言中,`java.awt.Robot`类是一个强大的工具,它允许程序模拟用户的键盘和鼠标输入。这个`RobotUtil`是基于`Robot`类的进一步封装,目的是简化和优化自动化测试、屏幕抓取或者任何需要模拟用户交互场景的...

    java 桌面图像获取带鼠标

    在Java AWT中,`Robot`类是一个关键组件,它允许程序模拟键盘输入和鼠标操作,同时也可以捕捉屏幕截图。为了获取桌面图像,我们需要实例化`Robot`类并调用其`createScreenCapture()`方法。 ```java import java.awt...

    Java中Robot类详解.pdf

    Java中的`Robot`类是Java AWT(Abstract Window Toolkit)包中的一个核心组件,它提供了一种机制,允许程序模拟用户的鼠标和键盘操作。这个类主要用于自动化测试、演示程序和其他需要控制用户输入的场景,例如模拟...

    java写的Robot

    总结来说,Java的Robot类为开发者提供了强大的能力,可以模拟用户与GUI的交互,包括键盘输入、鼠标操作以及屏幕捕获。在编写自动化测试脚本、实现屏幕录制功能或进行GUI自动化时,这个类是非常有用的工具。不过,在...

    Java 操控键盘,鼠标,剪切板Demo

    在Java编程语言中,我们可以利用Java的内置库`java.awt.Robot`来模拟键盘、鼠标操作以及处理剪切板的功能。这个库为开发者提供了一种方式来操控用户的输入设备,这对于自动化测试、屏幕录制或者创建虚拟用户交互场景...

    自动化实现HelloWorld,模拟键盘和鼠标点击

    接下来,我们讨论如何使用Java的Robot类来模拟鼠标和键盘操作。Robot类位于java.awt包下,提供了模拟用户输入的能力。例如,我们可以使用`createRobot()`方法创建一个Robot实例,然后调用`mouseMove(int x, int y)`...

    JAVA代码模拟键盘操作

    `Robot`是Java AWT(Abstract Window Toolkit)库的一部分,它允许程序模拟用户输入,包括键盘和鼠标操作。下面是如何使用`Robot`类模拟键盘输入的基本步骤: 1. 导入`java.awt.Robot`和`java.awt.event.KeyEvent`...

    java按键精灵模拟鼠标,j键盘代码工程

    6. **注意事项**:在使用Java Robot类时,确保程序有权限访问系统资源,并且注意不要让模拟的鼠标和键盘操作过于频繁,以免对系统造成干扰或引起不必要的错误。 总的来说,这个"java按键精灵模拟鼠标,键盘代码工程...

    java控制鼠标_键盘的各种事件,实现各种游戏需要狂点某个位置的程序

    在Java中,我们可以通过`java.awt.Robot`类来模拟鼠标和键盘的操作。首先,需要创建一个`Robot`对象,然后调用其方法来模拟鼠标的移动、按下和释放等动作。 ```java final Robot rb = new Robot(); // 移动到指定...

    JAVA模拟键盘输入

    `Robot`类是Java AWT(Abstract Window Toolkit)的一部分,它可以模拟用户的各种输入行为,包括键盘敲击和鼠标操作。 创建`Robot`对象是模拟键盘输入的第一步。以下是如何创建`Robot`对象的示例代码: ```java ...

    封锁键盘鼠标的源程序

    3. Java:使用java.awt.Robot类可以模拟键盘和鼠标操作,但实现封锁功能可能需要更底层的JNI(Java Native Interface)调用。 4. .NET Framework:使用C#或VB.NET,可以利用Windows Forms或WPF的InputSimulator类,...

    robot:使用 Haskell 模拟键盘和鼠标事件

    哈斯克尔机器人Robot是一个使用发送假键盘和鼠标事件的库。 应用程序将像用户自己执行操作一样做出响应。 目前仅支持 X11 系统,但如果有人关心,可以稍后添加 Windows 和 Mac。 您可以执行以下操作: 测试图形界面...

    jnativehook_java键盘钩子_hookapi_jnativehook_

    4. **Java键盘事件处理**:Java标准库提供了`java.awt.event.KeyEvent`和`java.awt.Robot`类来处理键盘事件,但它们只能在应用程序焦点内工作。而JNativeHook允许在没有焦点或者在后台运行时也能捕获键盘事件。 5. ...

Global site tag (gtag.js) - Google Analytics