`

一个键盘按键实例

    博客分类:
  • java
 
阅读更多
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.KeyEvent;

public class Test {

    /**
     * @param args
     * <a href="http://home.51cto.com/index.php?s=/space/2305405" target="_blank">@throws</a> AWTException
     */
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        Robot robot = new Robot(); // 创建一个robot对象
        Runtime.getRuntime().exec("notepad"); // 打开一个记事本程序
        robot.delay(2000); // 等待 2秒
        // 窗口最大化
        keyPressWithAlt(robot, KeyEvent.VK_SPACE); // 按下 alt+ 空格
        keyPress(robot, KeyEvent.VK_X);// 按下x键
        robot.delay(1000);// 等待 1秒
        keyPressString(robot, "大家好,我是一个小机器人,我有很多本领呢 !"); // 输入字符串
        robot.delay(3000);// 等待 3秒
        keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
        keyPressString(robot, "现在,我就向大家展示一下.....嘻嘻"); // 输入字符串
        robot.delay(3000);// 等待 3秒
        keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
        keyPressString(robot, "首先,我能按下 键盘的任何一个键。下面,我单独按下a,b,c,d键"); // 输入字符串
        keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
        robot.delay(3000);// 等待 3秒
        keyPress(robot, KeyEvent.VK_A); // 按下 a 键
        robot.delay(2000);// 等待 2秒
        keyPress(robot, KeyEvent.VK_B); // 按下 b 键
        robot.delay(2000);// 等待 2秒
        keyPress(robot, KeyEvent.VK_C); // 按下 c 键
        robot.delay(2000);// 等待 2秒
        keyPress(robot, KeyEvent.VK_D); // 按下 d 键
        robot.delay(2000);// 等待 2秒
        keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
        keyPressString(robot, "呵呵,完成了。。。。");
        robot.delay(3000);// 等待 3秒
        keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
        keyPressString(robot, "恩,对了  上面 文字很多是不是 感到 很乱呢??? 我现在 帮你清空一下 ");
        robot.delay(2000);// 等待 2秒
        keyPressWithCtrl(robot, KeyEvent.VK_A); // 按下 ctrl+A 全选
        robot.delay(2000);// 等待 2秒
        keyPress(robot, KeyEvent.VK_DELETE); // 清除
        robot.delay(3000);// 等待 3秒
        keyPressString(robot, "恩,现在 是不是 觉得 清爽多了    另外 我还会按 组合键呢 ...");
        keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
        robot.delay(3000);// 等待 3秒
        keyPressString(robot, "................好像已经 演示过了 吧 ,呵呵  ");
        keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
        robot.delay(3000);// 等待 3秒
        keyPressString(robot, "其实,我还有很多本领呢         现在就不向大家展示了 .....");
        keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行
        robot.delay(3000);// 等待 3秒
        keyPressString(robot, "谢谢大家!!!!!");

    }

    // shift+ 按键
    public static void keyPressWithShift(Robot r, int key) {
        r.keyPress(KeyEvent.VK_SHIFT);
        r.keyPress(key);
        r.keyRelease(key);
        r.keyRelease(KeyEvent.VK_SHIFT);
        r.delay(100);
    }

    // ctrl+ 按键
    public static void keyPressWithCtrl(Robot r, int key) {
        r.keyPress(KeyEvent.VK_CONTROL);
        r.keyPress(key);
        r.keyRelease(key);
        r.keyRelease(KeyEvent.VK_CONTROL);
        r.delay(100);
    }

    // alt+ 按键
    public static void keyPressWithAlt(Robot r, int key) {
        r.keyPress(KeyEvent.VK_ALT);
        r.keyPress(key);
        r.keyRelease(key);
        r.keyRelease(KeyEvent.VK_ALT);
        r.delay(100);
    }

    // 打印出字符串
    public static void keyPressString(Robot r, String str) {
        Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();// 获取剪切板
        Transferable tText = new StringSelection(str);
        clip.setContents(tText, null); // 设置剪切板内容
        keyPressWithCtrl(r, KeyEvent.VK_V);// 粘贴
        r.delay(100);
    }

    // 单个 按键
    public static void keyPress(Robot r, int key) {
        r.keyPress(key);
        r.keyRelease(key);
        r.delay(100);
    }
}
分享到:
评论

相关推荐

    delphi模拟键盘按键实例

    在Delphi这种强大的Windows应用程序开发环境中,实现模拟键盘按键的功能并不复杂。本实例将探讨如何在Delphi中实现这一功能,适用于Delphi7及更高版本。 首先,模拟键盘按键在Delphi中主要依赖于Windows API(应用...

    158-12864LCD显示计算器键盘按键实验(51单片机C语言实例Proteus仿真和代码)

    158-12864LCD显示计算器键盘按键实验(51单片机C语言实例Proteus仿真和代码)158-12864LCD显示计算器键盘按键实验(51单片机C语言实例Proteus仿真和代码)158-12864LCD显示计算器键盘按键实验(51单片机C语言实例Proteus...

    344-矩阵式键盘按键音(51单片机C语言实例Proteus仿真和代码)

    344-矩阵式键盘按键音(51单片机C语言实例Proteus仿真和代码)344-矩阵式键盘按键音(51单片机C语言实例Proteus仿真和代码)344-矩阵式键盘按键音(51单片机C语言实例Proteus仿真和代码)344-矩阵式键盘按键音(51单片机...

    51单片机Proteus仿真实例 12864LCD显示计算器键盘按键实验

    51单片机Proteus仿真实例 12864LCD显示计算器键盘按键实验51单片机Proteus仿真实例 12864LCD显示计算器键盘按键实验51单片机Proteus仿真实例 12864LCD显示计算器键盘按键实验51单片机Proteus仿真实例 12864LCD显示...

    51单片机Proteus仿真实例 1602LCD显示仿手机键盘按键字符

    51单片机Proteus仿真实例 1602LCD显示仿手机键盘按键字符51单片机Proteus仿真实例 1602LCD显示仿手机键盘按键字符51单片机Proteus仿真实例 1602LCD显示仿手机键盘按键字符51单片机Proteus仿真实例 1602LCD显示仿手机...

    51单片机Proteus仿真实例 1602LCD显示电话拨号键盘按键实验

    51单片机Proteus仿真实例 1602LCD显示电话拨号键盘按键实验51单片机Proteus仿真实例 1602LCD显示电话拨号键盘按键实验51单片机Proteus仿真实例 1602LCD显示电话拨号键盘按键实验51单片机Proteus仿真实例 1602LCD显示...

    51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键 (2)

    51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键 (2)51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键 (2)51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键 (2)51单片机Proteus仿真实例 数码管显示4×4...

    51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键

    51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键51单片机Proteus仿真实例 数码管显示4×4键盘矩阵按键...

    C#全局钩子屏蔽键盘按键Demo

    本项目“C#全局钩子屏蔽键盘按键Demo”就是利用C#编程语言实现的一个实例,能够有效地屏蔽键盘按键以及特定的组合键,如Alt+F4。 1. **C#编程语言**:C#是由微软开发的一种面向对象的编程语言,广泛用于Windows桌面...

    52-1个独立按键控制LED状态转换(51单片机C语言实例Proteus仿真和代码)

    52-1个独立按键控制LED状态转换(51单片机C语言实例Proteus仿真和代码)52-1个独立按键控制LED状态转换(51单片机C语言实例Proteus仿真和代码)52-1个独立按键控制LED状态转换(51单片机C语言实例Proteus仿真和代码)52-1...

    按键精灵脚本实例教程

    在实例方面,文章可能首先推荐了一个基本例子,这个例子通过简单的脚本演示了按键精灵的基本用法,让初学者可以快速入门。接着,文章可能介绍了“人气工具百宝箱之天龙八部2键盘连按”的脚本实例,这个实例可能是为...

    android键盘事件实例

    在KeyProject这个项目中,你可以找到一个具体的键盘事件实例,通过查看源代码,你会看到如何实现上述的监听器,并在用户输入时做出响应。例如,可能有一个功能是当用户输入特定字符时,应用会自动进行某些操作,或者...

    Vb2012 模拟发送按键 虚拟键盘 张志晨实例教程

    模拟按键通常会涉及另一个API函数`SendInput`,它可以模拟各种键盘事件,包括按下、释放键以及组合键操作。 `SendInput`函数需要构建一系列输入事件的结构体,然后将其传递给API,从而在目标应用程序中产生相应的...

    340-独立式键盘的按键功能扩展:以一当四(51单片机C语言实例Proteus仿真和代码)

    340-独立式键盘的按键功能扩展:以一当四(51单片机C语言实例Proteus仿真和代码)340-独立式键盘的按键功能扩展:以一当四(51单片机C语言实例Proteus仿真和代码)340-独立式键盘的按键功能扩展:以一当四(51单片机C语言...

    C# 学习按键精灵研发_附带源码Demo实例

    按键精灵是一款模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。按键精灵简单易用,不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作,...

    VC 钩子 hook屏蔽键盘按键.rar

    VC hook基于钩子的原理屏蔽键盘任意按键,为了使用方便,生成一个标准的DLL,利用底层键盘钩子实现屏蔽键盘任意按键,作者: 卢培培 (goodname008),包括了底层键盘钩子函数、开始屏蔽键盘按键的模块、停止屏蔽键盘...

    C# 实现键盘j记录与日志实例.rar

    标题"C#实现键盘记录与日志实例"表明我们将探讨如何利用C#来创建一个程序,该程序能够监听用户的键盘输入,并将这些输入保存为日志。在C#中,我们可以使用各种技术来实现这个功能,包括Windows API调用和事件处理。 ...

    c# Wpf简单键盘钩子实例

    本文将深入探讨如何在WPF项目中实现一个简单的键盘钩子实例。 首先,键盘钩子是一种系统级的机制,允许应用程序在其他进程的上下文中捕获键盘事件。在C#中,我们可以使用`System.Windows.Forms`命名空间中的`...

    单片机C语言实例-矩阵式键盘按键音.zip

    同时,为了响应按键事件,还需要设计一个事件驱动机制,当检测到按键按下时,执行相应的处理函数,比如播放音频。 在单片机上播放按键音,通常会用到PWM(脉宽调制)技术或者DAC(数字模拟转换器)。PWM通过改变...

    读取一个按键例子_labview读取一个按键_

    完成这些步骤后,你就可以通过LabVIEW控制台实时监控和响应键盘按键了。 总的来说,这个LabVIEW项目展示了如何利用串口通信和硬件接口来扩展虚拟仪器的功能,将物理按键的输入整合到软件系统中。通过学习这个实例,...

Global site tag (gtag.js) - Google Analytics