鼠标自动单击编程

在java.awt.*包下面有一个Robot类,可以生成输入事件,例如,Robot.mouseMove 将移动鼠标光标这个类除了模拟鼠标键盘操作以外,还可以用来截取屏幕,只演示一下怎么模拟鼠标键盘操作,具体api参考javadoc。这个演示完成了弹出QQ和移动窗口的功能。代码如下:import java.awt.AWTException;import java.awt.Robot;...
鼠标自动单击编程
在java.awt.*包下面有一个Robot类,可以生成输入事件,例如,Robot.mouseMove 将移动鼠标光标

这个类除了模拟鼠标键盘操作以外,还可以用来截取屏幕,只演示一下怎么模拟鼠标键盘操作,具体api参考javadoc。这个演示完成了弹出QQ和移动窗口的功能。代码如下:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
/**
* @author bean
*
*/
public class RobotDemo {

private Robot robot = null;

public RobotDemo() {
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
}
/** 可以弹出QQ */
public void keyBoardDemo() {
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_Z);
robot.keyRelease(KeyEvent.VK_Z);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_ALT);
}
/** 前提是有个最大化的窗口,功能是移动到标题栏,然后拖拽到600,600的位置*/
public void mouseDemo(){
robot.mouseMove(80, 10);
robot.mousePress(KeyEvent.BUTTON1_MASK);
try {
Thread.sleep(20);
} catch (InterruptedException e) {
e.printStackTrace();
}
robot.mouseMove(600, 600);
robot.mouseRelease(KeyEvent.BUTTON1_MASK);
}
/**
* @param args
*/
public static void main(String[] args) {
RobotDemo demo=new RobotDemo();
demo.keyBoardDemo();
demo.mouseDemo();
}

}2008-08-06
各种按键信息的输入:java.awt.event.KeyEvent

指示组件中发生击键的事件。

当按下、释放或键入某个键时,由组件对象(如文本字段)生成此低级别事件。该事件被传递给每一个 KeyListener 或 KeyAdapter 对象,这些对象使用组件的 addKeyListener 方法注册,以接收此类事件。(KeyAdapter 对象实现 KeyListener 接口。)发生事件时,所有此类侦听器对象都获取此 KeyEvent。

“键入键”事件 是高级别事件,通常不依赖于平台或键盘布局。输入 Unicode 字符时生成此类事件,它们被认为是输入字符的最佳方式。最简单的情况是按下单个键(如“a”)所产生的键入键事件。但是经常是通过一系列按键(如‘shift’+‘a’)来产生字符,并且按下键事件和键入键事件的映射关系可能是多对一或多对多的。键释放通常不需要生成一个键入键事件,但是在某些情况中,只有释放某个键才会生成键入键事件(如在 Windows 中通过 Alt-Numpad 方法来输入 ASCII 序列)。对于不生成 Unicode 字符的键是不会生成键入键事件的(如动作键、组合键等等)。

getKeyChar 方法总是返回有效的 Unicode 字符或 CHAR_UNDEFINED。KEY_TYPED 事件报告字符输入:KEY_PRESSED 和 KEY_RELEASED 事件不一定与字符输入相关联。因此,可以保证 getKeyChar 方法的结果仅对 KEY_TYPED 事件有意义。

对于按下键和释放键事件,getKeyCode 方法返回该事件的 keyCode。对于键入键事件,getKeyCode 方法总是返回 VK_UNDEFINED。

“按下键”和“释放键”事件 是低级别事件,并且依赖于平台和键盘布局。只要按下或释放键就生成这些事件,并且这些事件是获取不生成字符输入的键(如动作键、组合键等等)的惟一方式。由 getKeyCode 方法指示按下或释放的键,它返回一个虚拟键码。

虚拟键码 用于报告按下了键盘上的哪个键,而不是通过一个或多个击键组合所生成的字符(如“A”是由 shift+“a”生成的)。

例如,按下 Shift 键会生成 keyCode 为 VK_SHIFT 的 KEY_PRESSED 事件,而按下“a”键将生成 keyCode 为 VK_A 的 KEY_PRESSED 事件。释放“a”键后,会激发 keyCode 为 VK_A 的 KEY_RELEASED 事件。另外,还会生成一个 keyChar 值为 "A" 的 KEY_TYPED 事件。

注:

不产生 Unicode 字符的键组合(如 F1 和 HELP 键等动作键)不会生成 KEY_TYPED 事件。
并非所有键盘和系统都能够生成所有的虚拟键码。在 Java 中不会尝试人为地生成这些键。
虚拟键码不标识物理键:它们取决于平台和键盘布局。例如,使用美国键盘布局时生成 VK_Q 的键在使用法国键盘布局时将生成 VK_A。
并非所有的字符都有与其关联的 keycode。例如,没有用于问号的 keycode,因为没有在主层上显示问号的键盘。
为了支持平台无关的动作键处理,Java 平台为某些功能使用少量附加虚拟键常量,否则必须通过解释虚拟键码和修饰符来识别这些功能。例如,对于日文 Windows 键盘,返回 VK_ALL_CANDIDATES 而不是 VK_CONVERT 加 ALT 修饰符。
警告:除了 Java 语言定义的这些键之外(VK_ENTER、VK_BACK_SPACE 和 VK_TAB),不要依赖于 VK_ 常量值。Sun 保留更改这些值的权利,以备将来根据需要适应更大范围的键盘。2008-08-06
mengvlog 阅读 10 次 更新于 2025-07-19 20:40:53 我来答关注问题0
  •  湖北倍领科技 vb编程 求鼠标左键自动单击的编程

    mouse_event (MOUSEEVENTF_LEFTDOWN ,2500,2500,0,0)上述代码中的MOUSEEVENTF_LEFTDOWN表示模拟鼠标左键按下事件,而dx和dy参数指定鼠标位置,这里设置为2500,2500。接着使用:mouse_event(MOUSEEVENTF_LEFTUP,2500,2500,0,0)该行代码表示模拟鼠标左键释放事件。通过这样的设置,我们可以实现鼠标左键的自动...

  •  damingren09 无需软件怎么让鼠标自动点击

    要让鼠标自动点击而无需使用软件,操作步奏如下:1、使用系统辅助工具:有些系统辅助工具,如`简单百宝箱,提供了鼠标连点功能。你可以打开这样的工具,选择“鼠标连点”选项,然后设置点击间隔时间。之后,将鼠标移动到想要自动点击的地方,按相应的热键(如“F9”对应左键,“F10”对应右键)即可开始自动...

  •  深空见闻 怎样让鼠标自动点击?

    1. 编程实现: 使用第三方库:在Python等编程语言中,可以使用如pyautogui这样的第三方库来模拟鼠标点击。通过编程,可以精确控制鼠标点击的位置、时间等参数。 示例:一个简单的Python脚本可以等待一定时间后,在指定坐标位置模拟一次鼠标左键单击。2. 使用自动化软件: 现有软件:市面上有许多现成的自动...

  •  深空游戏 怎样让鼠标自动点击?

    首先,编程是一种实现鼠标自动点击的有效方法。例如,在Python中,我们可以使用`pyautogui`这样的第三方库来模拟鼠标点击。`pyautogui`库允许我们编程控制鼠标的移动和点击,从而实现自动化操作。以下是一个简单的Python脚本示例,它使用`pyautogui`库来模拟鼠标点击:python import pyautogui import time ...

  •  深空见闻 怎样让鼠标自动点击?

    一、使用鼠标连点器软件 鼠标连点器是专门用于模拟鼠标点击操作的软件,提供多种点击模式、自定义点击频率和间隔时间,以及热键启动和停止等功能。 用户只需下载并安装这类软件,如金舟鼠标连点器、Speed Auto Clicker等,然后根据软件提供的界面和说明进行设置即可。二、利用编程或脚本实现 对于有一定编程...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部