文档章节

java实现简单的模拟键盘鼠标操作

达文西W
 达文西W
发布于 2017/01/03 11:07
字数 252
阅读 354
收藏 0

简简单单的记录: 近期需要用到模拟键盘鼠标操作,所以记录下来,以备后用,看了很多例子,未标明引用,请见谅

package com.text.jna;


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 MouseHook
{
    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);

    }
}

© 著作权归作者所有

达文西W

达文西W

粉丝 9
博文 29
码字总数 6998
作品 0
朝阳
程序员
私信 提问
用java实现类似于按键精灵这样的功能

需求并不需要多少文字描述,总的来说是实现案件精灵的部分功能,用java实现,对键盘和鼠标进行监听。类似按键精灵录脚本的功能,记录发生的键盘和鼠标的操作并可以进行模拟。 目前没有什么头...

第五郎
2015/10/20
4.6K
7
Windows下面使用JAutoItDLL来操作鼠标,键盘和窗口

自己实现了AutoItDLL的java绑定JAutoItDLL,现在在java中直接就可以操作鼠标,键盘和窗口(只限Windows下,因为AutoItDLL是为Windows提供的)。AutoItDLL提供的功能先在都能在java中调用。 下面...

绝对零度
2013/05/01
532
1
11.2 Actions类介绍

我们已经学过了单击click() 方法,但这还不够,我们实际工作中通过鼠标除了单击外,我们还会用到右键,双击,拖拽等等,也可能需要用到键盘操作,那这些操作WebDriver的Actions类都支持。 在...

米阳MeYoung
2018/06/25
0
0
关于java模拟鼠标键盘操作

需求是用java写一个小程序可以操作键盘和鼠标做一些实现定义好的操作.主要通过java.awt.robot类来控制键盘和鼠标.目前在本地机器上正常.但是将程序放在远程机器上,只要从远程上退下了,那么代...

第五郎
2015/11/04
567
2
在 Java SE 平台上使用 Headless 模式

这篇文章介绍怎样在标准Java(Java SE,也称作J2SE)平台上用Headless模式。 Headless模式是在缺少显示屏、键盘或者鼠标时的系统配置。听起来不可思议,但事实上你可以在这中模式下完成不同的操...

oschina
2013/08/13
18.6K
9

没有更多内容

加载失败,请刷新页面

加载更多

浅谈Adapter适配器模式

一、前言 适配器模式分为两类,所谓“适配”就是适当的配合或者恰当的配合,想一下电源的适配器,完成的作用是将交流电220V转化成不同的直流电压,来对手机、电脑、台灯等充电,如果没有这些...

青衣霓裳
9分钟前
0
0
Kubernetes+Docker+Istio 容器云实践

随着社会的进步与技术的发展,人们对资源的高效利用有了更为迫切的需求。近年来,互联网、移动互联网的高速发展与成熟,大应用的微服务化也引起了企业的热情关注,而基于Kubernetes+Docker的...

宜信技术学院
11分钟前
0
0
工作流升级登场,云盒子让文件流转更顺畅

云盒子企业网盘作为深耕企业私有云盘领域的老选手, 深谙企业用户对文档管理的细致化追求, 同时从日积月累的各行各业用户口中,收集产品使用体验和痛点, 将“用户体验”贯穿整个网盘产品的设计...

yhz66
16分钟前
0
0
linux:nohup 不生成 nohup.out的方法

nohup java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1 & 关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉...

OSC知行合一
18分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部