使用Robot类模拟鼠标、键盘事件

Robot类用于模拟鼠标、键盘事件,生成本机系统输入事件。Robot 的主要用于自动化、自运行的程序和其他需要自动控制鼠标和键盘的程序

相当于实际操作的效果,不仅仅只是生成对应的鼠标、键盘事件。
比如Robot.mouseMove() 将实际移动鼠标光标,而不是只生成鼠标移动事件。

实现的是本机的全局模拟,不仅仅局限于写的程序和IDE

Robot类常用方法:

void delay (int ms) 睡眠指定的时间(类似于线程中sleep)

void keyPress(int keycode) 按下指定的键
void keyRelease(int keycode) 释放指定的键

void mousePress(int buttons) 按下一个或多个鼠标按键
void mouseRelease(int buttons) 释放一个活多个鼠标按键

void mouseMove(int x,int y) 将鼠标移动到给定的屏幕坐标上
void mouseWheel(int wheelAmt) 滚动鼠标滑轮

实例:

 1 package my_package;
 2
 3 import java.awt.*;
 4 import java.awt.event.InputEvent;
 5 import java.awt.event.KeyEvent;
 6
 7
 8 /**
 9  * 利用Robot实现自动清屏
10  */
11 public class Test {
12     public static void main(String[] args) throws AWTException {
13         System.out.println("ok");
14         Robot robot = new Robot();
15
16         //将鼠标移到控制台区域
17         robot.mouseMove(300,600);
18
19         //单击右键
20         robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
21         robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
22
23         //按CTRL+小键盘的数字0,实现清屏。需要先设置清屏快捷键为Ctrl+小键盘的数字0
24         robot.keyPress(KeyEvent.VK_CONTROL);
25         robot.keyPress(KeyEvent.VK_NUMPAD0);
26         robot.keyRelease(KeyEvent.VK_NUMPAD0);
27         robot.keyRelease(KeyEvent.VK_CONTROL);
28
29     }
30
31 }
 1 package my_package;
 2
 3 import java.awt.*;
 4 import java.awt.event.KeyEvent;
 5
 6 /**
 7  * 利用Robot类实现自动返回桌面(Win+D)
 8  */
 9 public class Test2 {
10     public static void main(String[] args) throws AWTException {
11         Robot robot=new Robot();
12         robot.keyPress(KeyEvent.VK_WINDOWS);
13         robot.keyPress(KeyEvent.VK_D);
14         robot.keyRelease(KeyEvent.VK_D);
15         robot.keyRelease(KeyEvent.VK_WINDOWS);
16     }
17 }

原文地址:https://www.cnblogs.com/chy18883701161/p/10852203.html

时间: 2024-11-10 16:44:43

使用Robot类模拟鼠标、键盘事件的相关文章

Linux 模拟 鼠标 键盘 事件

/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: * 以前看到有些软件能够控制鼠标移动,键盘操作等功能,总想知道这些到底 * 是怎么做到的,好像是2年前也尝试去做这件事,但那时候对知识的匮乏直接导致 * 无法进行,早上突然想到这件事,于是又搜索了一下,鉴于目前经常接触Linux * 驱动,对这些东西的理解也就很容易. * * 2016-2-27 深

由chrome剪贴板问题研究到了js模拟鼠标键盘事件

写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.clipboardData.getData("Text") 可是在chrome下面就行不通了,chrome下面没有类似ie的这种方法,那应该怎么办呢,百度了一下,发现还真有办法. 只要在HTML界面上放上一个text类型的控件,如下所示 <textarea id="textAre

使用python监听、模拟鼠标键盘事件

最近守望职业选手疑似开挂事件挺热闹的,在下小菜一枚,并不能从视频中看出端倪.看了一些关于外挂的讨论,自动点射和压枪只需在鼠标驱动上做些改动即可,自瞄或其他高级功能则需要读内存或修改游戏文件,检测也更容易. 士兵76长按左键扫射4发子弹之后准星就会小范围随机飘,所以想自己实现一个长按左键变自动点射的程序. 仅作测试使用,鄙视一切外挂,玩游戏就好好玩. 选择使用python,用到的库pyHook,pywin32 pyHook的文档:http://pyhook.sourceforge.net/doc_

selenium鼠标键盘事件(转)

概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类. 其次,在实际测试过程中,可能会遇到某些按键没办法使用 Actions.Keys

Python - selenium_WebDriver 鼠标键盘事件

from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from ReadTxt_demo import readTxt import time #鼠标键盘事件 ''' ActionChains 常用方法 per

Delphi下利用WinIo模拟鼠标键盘详解

http://www.cnblogs.com/rogee/archive/2010/09/14/1827248.html 本文最早在编程论坛上发表,文章地址:http://programbbs.com/bbs/view12-17207-1.htm,相关文件可以在上述地址的页面中下载.转载时请注明出处. 前言 一日发现SendInput对某程序居然无效,无奈只好开始研究WinIo.上网查了很多资料,发现关于WinIo模拟鼠标键盘的资料很少,有的也只是支言片语讲的不是很详细,而且大部分都是关于模拟键

模拟鼠标键盘操作,含硬件模拟技术[转载]

键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样可以把很多重复性的键盘操作交给程序来模拟,省了很多精力,按键精灵就是这样的一个软件.那么我们怎样才能用VB来写一个程序,达到与按键精灵类似的功能呢?那就让我们来先了解一下windows中响应键盘事件的机制.    当用户按下键盘上的一个键时,键盘内的芯片会检测到这个动作,并把这个信号传送到计算机.如

做UI最全的鼠标键盘事件!

在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是ActionChains类,在使用该类做键盘操作的过程中会配合使用到 Keys 数据存储类,Keys包含键盘上所有特殊按键. 一.鼠标点击操作 click(element=None)左击context_click(element=N

转:WebDriver(Selenium2)模拟鼠标经过事件

在自动化测试过程中,由于javascript的使用,我们常常需要点击一些鼠标经过显示的菜单等元素,这时需要触发该元素的鼠标经过事件.使用WebDriver有以下两种实现. 1.使用Action Java代码   public void moveToElement(WebDriver driver, By locator) { Actions builder = new Actions(driver); builder.moveToElement(driver.findElement(locato