Runtime类继Robot类自动登录QQ后改进版2.0
自动登录QQ2.0上线!!!
最近呢,有很多人问我自动登录QQ的小程序不够完善。看过我上一篇博客的人都知道,在登录QQ时运行Robot移动鼠标不够严谨,有时候会移动出错。很多小伙伴就会说了,“能不能直接调用系统的线程打开QQ再用Robot键盘输入密码登录。” “这???可能吗、、、”
当然可以喽,聪明伶俐的我为大家解决了这一难题。
那么想调用系统的线程打开应用用到了一个新类名为Runtime。
多的不说,少的不唠,直接上才艺。
才艺:
首先分析如何做到这一效果:
1.需要用到哪些东西:Robot类、Runtime类、Scanner类。//Robot类与Scanner类可以通过我前面的博客补习。
2.首先用Runtime类调用线程打开应用需要我们结合Scanner类输入打开。
3.打开后输入密码用到Robot类键盘输入。
实现:
1.写一个死循环保证我们的程序一直开着。//我用到的是while(true)死循环
2.new出来咱们用到的类,保证能够使用。
Runtime r=Runtime.getRuntime();//调用脚本命令,打开所需程序
Robot robot = new Robot();
Scanner scanner=new Scanner(System.in);//创建scanner,控制台会一直等待输入,直到敲回车结束
3.Scanner用户输入需要用int值接受下方便我们接下来用switch选择。
int input=scanner.nextInt();//input是你输入的数字
4.switch用接收的int值做选择
switch(input){
case 1:r.exec("notepad.exe");//当输入1时打开记事本
break;
case 2:r.exec("mspaint.exe");//当输入2时打开画图
break;
case 3:r.exec("D:\\Bin\\Bin\\QQScLauncher.exe");//当输入3时打开QQ
break;
case 4:r.exec("D:\\1.mp4");//视频
break;
default:
System.out.println("输入错误,请重新输入");
break;//
}
5.结合我们的Robot键盘输入打密码
因为我的调用QQ在第三个,所以在第三个调用QQ下面加上自己的密码,有些小伙伴会问,我没学过Robot啊。好嘞,我先教大家用,想学看完前面的博客再深入研究下。
case 3:r.exec("D:\\Bin\\Bin\\QQScLauncher.exe");//当输入3时打开QQ自动登录
robot.delay(3000); //delay延迟不用管
robot.keyPress(KeyEvent.VK_F);//键盘输入f
robot.delay(500);
robot.keyPress(KeyEvent.VK_U);//键盘输入u
robot.delay(500);
robot.keyPress(KeyEvent.VK_C);//键盘输入c
robot.delay(500);
robot.keyPress(KeyEvent.VK_K);//键盘输入k
robot.delay(500);
robot.keyPress(KeyEvent.VK_6);//键盘输入6
robot.delay(500);
robot.keyPress(KeyEvent.VK_6);//键盘输入6
robot.delay(500);
robot.keyPress(KeyEvent.VK_6);//键盘输入6
robot.delay(500);
robot.keyPress(KeyEvent.VK_6);//键盘输入6
robot.delay(500);
robot.keyPress(KeyEvent.VK_ENTER);//回车
robot.keyRelease(KeyEvent.VK_ENTER); //松开回车
break;
这就体现出来了,我的QQ密码是fuck6666。那么,有的人就会说了,“加个QQ呗。” “这这这,不可能,除非你是个性感、漂亮的妹子。”
结束篇
代码教给各位了,有些人肯定就说了。“这怎么没个整体的代码,让我好观摩啊”
“观摩???啧啧啧,你们想干啥我还不知道?面向复制粘贴程序员咱们都一样。”
来吧,展示了:
public static void main(String[] args) throws IOException, AWTException {
while(true){
Runtime r=Runtime.getRuntime();//调用脚本命令,打开所需程序
Robot robot = new Robot();
System.out.print("请输入要打开的程序编号:");
Scanner scanner=new Scanner(System.in);//创建scanner,控制台会一直等待输入,直到敲回车结束
int input=scanner.nextInt();//用户可自行定义i的值 switch(input){
case 1:r.exec("notepad.exe");//当输入1时打开记事本
break;
case 2:r.exec("mspaint.exe");//当输入2时打开画图
break;
case 3:r.exec("D:\\Bin\\Bin\\QQScLauncher.exe");//当输入3时打开QQ自动登录
robot.delay(3000);
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_6);
robot.delay(500);
robot.keyPress(KeyEvent.VK_6);
robot.delay(500);
robot.keyPress(KeyEvent.VK_6);
robot.delay(500);
robot.keyPress(KeyEvent.VK_6);
robot.delay(500);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
break;
case 4:r.exec("D:\\1.mp4");//视频
break;
default:
System.out.println("输入错误,请重新输入");
break;//
}
}
}
没办法,惯着你们。让你们不会打代码,只会复制粘贴,这样我就可以在Java界少了一些对手。不错哦!
古德拜!
最新文章
- cocos2dx骨骼动画Armature源码分析(三)
- iOS获取当前AppStore版本号与更新
- oracle 11g dbf数据文件从C盘迁移到D盘
- House Robber III leetcode 动态规划
- mvc5+ef6+Bootstrap 项目心得--WebGrid
- 获取UILabel宽度的方法
- Dedesql数据库类详解
- Z路径覆盖
- 安装hadoop-2.3.0-cdh5.1.2全过程
- java:对象的转型
- oracle 高版本导出低版本数据库并且导入到低版本数据的方法
- 【温故而知新:文件操作】C#的文件读写相关
- 【Ruby】Ruby的model学习——Active Record Associations
- 关于在同一母版页中使用多个CSS文件的解决方案
- vim_编码配置文件_utf8乱码解决
- CentOS-Zabbix-agent客户端的编译安装
- [ZJOI2016]小星星
- 快速入门:弄懂Kafka的消息流转过程
- 002_soa_zk处理经验总结
- (86)Wangdao.com第十九天_JavaScript 接口之 ParentNode 和 ChildNode