最近写了一个小代码控制鼠标键盘使他自己登录QQ,下面给大家分享下这一小代码。

  这段小程序是用Java里的Robot类实现的,控制鼠标键盘的一个机器人类。

    我们想要实现自动登录QQ首先得想要做到这一步需要哪些步骤:

    1.先将写代码的Java软件缩小到任务栏,也就是要将桌面显示出来。要实现这一步就是运用计算机快捷键“Windows+M”或者“Windows+D”实现。

    2.控制鼠标将它移动到QQ的位置,移动到QQ的位置后就是打开了,点击右键。

    3.之后就会出现QQ的几个可执行按钮,移动鼠标到打开的位置单机左键。

    4.这样QQ就打开了,然后输入密码回车登录。

   明白了实现步骤就开始写代码执行它。

  一步一步来

 第一步返回桌面,我们使用Robot类控制键盘按下“Windows+M”也可以用“Windows+D”返回到桌面

 

 robot.keyPress(KeyEvent.VK_WINDOWS);//这一步是用机器人类按下键盘WINDOW
  robot.keyPress(KeyEvent.VK_M);//这一步是用机器人类按下键盘M
  robot.keyRelease(KeyEvent.VK_WINDOWS);//松开键盘WINDOW键
  robot.delay(1000);//此处延迟一秒给下一步缓冲的时间(括号里是以毫秒计算单位的)

 第二步控制鼠标将它移动到QQ的位置单机右键。

  

 robot.mouseMove(   ,   );//此处的作用是移动鼠标到某一坐标点(移动到自己桌面QQ的位置)
   robot.delay(1000);//延迟一秒
  robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);//单机鼠标右键
  robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);//松开右键

 第三步移动鼠标到打开的位置单机左键

  robot.delay(2000);//延迟两秒
  robot.mouseMove( , );//移动鼠标坐标到打开的位置(移动到自己桌面QQ打开按钮的位置)
  robot.delay(1000);//延迟1秒
  robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);//单机鼠标左键
  robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);//松开左键

 第四步QQ打开了输入密码按回车登录 

输入自己的密码有几位就敲几个robot.keyPress类,一个类输入一个键。

robot.delay(2000);//延迟两秒给QQ缓冲的时间
robot.keyPress(KeyEvent.VK_F);//下面输入自己的密码
robot.delay(500);
robot.keyPress(KeyEvent.VK_U);
robot.delay(500);
robot.keyPress(KeyEvent.VK_C);
robot.delay(500);
robot.keyPress(KeyEvent.VK_K);
robot.delay(500);
robot.keyPress(KeyEvent.VK_0);
robot.delay(500);
robot.keyPress(KeyEvent.VK_0);
robot.delay(500);
robot.keyPress(KeyEvent.VK_0);
robot.delay(500);
robot.keyPress(KeyEvent.VK_0);
robot.delay(500);
robot.keyPress(KeyEvent.VK_ENTER);//按下回车键
robot.keyRelease(KeyEvent.VK_ENTER);//松开回车键,当然不松开也是可以的,不过你就会体验到键盘不能用的滋味哦~嘿嘿

我将源码放到下面,有自己想试一试的可以修改拿去试试!

public static void main(String[] args) throws AWTException {
Robot robot = new Robot();//先定义Robot机器人类 robot.keyPress(KeyEvent.VK_WINDOWS);//这一步是用机器人类按下键盘WINDOW+M跳转到桌面
robot.keyPress(KeyEvent.VK_M);
robot.keyRelease(KeyEvent.VK_WINDOWS);//松开键盘WINDOW键
robot.delay(1000);//此处延迟一秒给下一步缓冲的时间(括号里是以毫秒计算单位的) robot.mouseMove(44, 655);//此处的作用是移动鼠标到某一坐标点(移动到自己桌面QQ的位置)
robot.delay(1000);//延迟一秒
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);//单机鼠标右键
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);//松开右键 robot.delay(2000);//延迟两秒
robot.mouseMove(53,350);//移动鼠标坐标到打开的位置
robot.delay(1000);//延迟1秒
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);//单机鼠标左键
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);//松开左键 robot.delay(2000);//延迟两秒给QQ缓冲的时间
robot.keyPress(KeyEvent.VK_F);//下面输入自己的密码
robot.delay(500);
robot.keyPress(KeyEvent.VK_U);
robot.delay(500);
robot.keyPress(KeyEvent.VK_C);
robot.delay(500);
robot.keyPress(KeyEvent.VK_K);
robot.delay(500);
robot.keyPress(KeyEvent.VK_0);
robot.delay(500);
robot.keyPress(KeyEvent.VK_0);
robot.delay(500);
robot.keyPress(KeyEvent.VK_0);
robot.delay(500);
robot.keyPress(KeyEvent.VK_0);
robot.delay(500);
robot.keyPress(KeyEvent.VK_ENTER);//按下回车键
robot.keyRelease(KeyEvent.VK_ENTER);//松开回车键

ok 我的代码分享结束,感谢大家观看!

 

  

利用机器人类Robot写出自动登录QQ的小代码的更多相关文章

  1. Python推导式详解,带你写出比较精简酷炫的代码

    Python推导式详解,带你写出比较精简酷炫的代码 前言 1.推导式分类与用法 1.1 列表推导 1.2 集合推导 1.3 字典推导 1.4 元组推导?不存在的 2.推导式的性能 2.1 列表推导式与 ...

  2. 如何写出同事看不懂的Java代码?

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是没更新就是在家忙着带娃的Hydra. 前几天,正巧赶上组里代码review,一下午下来,感觉整个人都血压拉满了.五花八门的代码 ...

  3. 自己Cookie写的自动登录功能 包含BASE64 和MD5的使用

    sql表 username  password字段 User类 有 id username password等字段 Service有一函数 @Override public User findUser ...

  4. 写出优雅又地道的pythonic代码(转自网络)

    本文是Raymond Hettinger在2013年美国PyCon演讲的笔记(视频, 幻灯片). 示例代码和引用的语录都来自Raymond的演讲.这是我按我的理解整理出来的,希望你们理解起来跟我一样顺 ...

  5. 如何写出优雅又地道的Python代码?【转载】

    在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic.一般说地道(idiomatic)的python代码,就是指这份代码很pyth ...

  6. 如何写出优雅兼备可读性的javascript代码

    即或是最简单的需求,不同的程序员也会写出不一样的代码: 需求:充值程序过虑不符合条件的充值金额,即只能充入100.200.500.1000金额,其它过虑: 1.菜鸟程序员可能会这样写,虽然可读性强,代 ...

  7. Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互

    框架的东西太复杂也难以讲通,直接上代码: 一.首先得配置环境 和导入必要的jar包 有一些重要的如下: Filter文件夹下的SafetyFilter.java   model文件夹下的 Global ...

  8. 几个你所不知道的技巧助你写出更优雅的vue.js代码

    1. watch 与 computed 的巧妙结合 如上图,一个简单的列表页面. 你可能会这么做: created(){ this.fetchData() }, watch: { keyword(){ ...

  9. 利用cookie实现“只弹出一次窗口”的JS代码

    弹出式窗口通常被用来做弹出广告(CPM),其实用弹出式窗口用来做消息通知也是最普遍而且是最有效的方法,但如果每次刷新页面特别是刷新首页都要弹出窗口的话,那绝对是让访问者厌烦的事情. 比如你将上面的脚本 ...

  10. 10个小技巧助您写出高性能的ASP.NET Core代码

    今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能,本文的大部分内容来自翻译,当然中间穿插着自己的理解,希望对大家有所帮助!话不多说开始今天的主题吧! 我们都知道性能是公共网 ...

随机推荐

  1. char值转换为int怎么才能不是ASCII值

    直接将char类型的变量强制转换为int类型是不行的,那样只会传递变量所对应的ASCII码 怎么才能将char类型转换为int类型呢?String类型的可以通过方法转换为int类型.那是不是可以将ch ...

  2. 【git报错】hint: Updates were rejected because the tip of your current branch is behind

    有时候作为非master权限的项目参与者 在push的时候会遇到这样的报错: hint: Updates were rejected because the tip of your current b ...

  3. [C#] Func及Action的快速Demo

    参考代码1: using System;using System.Collections.Generic;using System.Linq;namespace FuncActionDemo{    ...

  4. 7.webpack与vue-cli

    一.模块化相关规范 1.1 模块化概述 传统开发模式的主要问题 命名冲突:多个JS文件之间,如果存在重名的变量,会发生变量覆盖问题 文件依赖:JS文件无法实现相互的引用 通过模块化解决上述问题 模块化 ...

  5. git 拉取远端别的分支的代码,并创建本地分支

    创建本地分支 new_dev, 并且拉取远端new_dev的代码到本地new_devgit checkout -b new_dev origin/new_dev

  6. loadrunner入门(关联)

    左右边界:提取第一个id web_reg_save_param_ex(                 "ParamName=Id",         "LB=//OK[ ...

  7. Go_day03

    Go基础语法 数组 数组是具有相同唯一类型的一组以编号且长度固定的数据项序列.类型可以是任意基本类型或者自定义类型. 数组一旦被定义后,大小不能被改变 func main() { //定义一个数组 v ...

  8. STM32上特殊管脚应用 重映射那个GPIO_Remap_SWJ_JTAGDisable

    对于初学习者来说为什么用到PB3和PB4时无法控制输出呢? 下面就这一问题进行分析讲解. 首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能 ...

  9. 一文快速回顾 Session 和 Cookie

    前言 在 Web 应用程序中(通俗点,可以理解成一个网站),Session 和 Cookie 是两个非常重要的概念,主要用于实现用户身份认证.数据传递等功能.今天就来讲讲这两个东西. 对于当时刚开始接 ...

  10. MySQL学习(三)DQL/DML/DDL/DCL 介绍

    参考博客:https://blog.csdn.net/tomatofly/article/details/5949070 DQL(data query language) :数据查询语言 select ...