zoukankan      html  css  js  c++  java
  • 如何用java控制你的电脑?

    用java控制你的电脑

    java,是一门强大的语言,强大的地方在于有很多类,我们可以直接的使用。而java.awt.Robot就很有意思了,顾名思义robot机器人,怎样一个机器法,如:控制鼠标方法:

    鼠标的点击:void mousePress(int button)

    鼠标的释放:void mouseRelease(int buttons) 

    鼠标的移动:void mouseMove(int x,int y)

    鼠标滚动滑轮: void mouseWheel(int wheelAmt)

    由于程序执行语句的速度很快,有时候你点的地方来不及反应,所以要用到,void delay(int ms)方法,睡眠指定的时间(类似于线程中sleep)给个例子,鼠标点击一下,

    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(20);//休眠20毫秒,再释放
    robot.mouseRelease(InputEvent.BUTTON1_MASK);

    学到了这个功能马上就可以实践一下了,最近学校催刷青马在线的视屏,嗯,刷那个视屏吧!巨难受,每隔十五分钟便停止了,询问到:您已经看了15分钟了,是否需要休息一下?,然后你要点击“不需要”这个按钮。一个多小时的视频多的时候要点五六次,真想吐出一口老血,那为什么不用电脑自己点呢?于是就写了一个机器人,每次开始看的时候,运行这个程序就可以了。

    package 青马在线robot;
    
    import java.awt.Robot;
    import java.awt.event.InputEvent;
    
    public class QinMaRobot {
    	
    	private static Robot robot;
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		try {
    			robot = new Robot();
    		} catch (Exception e) {
    			// TODO: handle exception
    			e.printStackTrace();  
    		}
    		for(int i=0;i<6;i++){
    			robot.delay(5000);
    			robot.mouseMove(700, 480);
    			robot.mousePress(InputEvent.BUTTON1_MASK);
    			robot.delay(20);
    			robot.mouseRelease(InputEvent.BUTTON1_MASK);
    			for(int j=0;j<15;j++)//休息15分钟
    			   robot.delay(60000);
    		}
    	}
    }

    嗯,这就舒服了,很简单的操作!

    除了控制鼠标,还有什么呢?当然也可以控制电脑的键盘,调用robot.keyPress()和robot.keyRelease()方法,参数一般格式为:

    KeyEvent.VK_name; name=按键的名称

    举一个小例子,按下enter回车键:

    1.         robot.keyPress(KeyEvent.VK_ENTER);  
    2.         robot.keyRelease(KeyEvent.VK_ENTER);  
    3.         robot.delay(500);  

    了解了这个我们可以干一些什么呢?什么都可以干了不是吗?你平时用电脑,就是两样东西,鼠标和键盘,现在这两样都可以机器化了。比如给你室友或者朋友来一个恶作剧,shutdow他的计算机

    package java_robot实践;
    
    import java.awt.AWTException;
    import java.awt.Robot;
    import java.awt.event.KeyEvent;
    
    public class shutdown关机 {
    	
    	private static Robot robot;
    	
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		try {
    			robot=new Robot();
    		} catch (AWTException e) {
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}
    		//首先切换到桌面,快捷键windows+D
    		robot.keyPress(KeyEvent.VK_WINDOWS);
    		robot.keyPress(KeyEvent.VK_D);
    		robot.delay(20);
    		robot.keyRelease(KeyEvent.VK_WINDOWS);
    		robot.keyRelease(KeyEvent.VK_D);
    		robot.delay(20);
    		
    		//然后alt+f4
    		robot.keyPress(KeyEvent.VK_ALT);
    		robot.keyPress(KeyEvent.VK_F4);
    		robot.delay(20);
    		robot.keyRelease(KeyEvent.VK_ALT);
    		robot.keyRelease(KeyEvent.VK_F4);
    		robot.delay(50);
    		
    		//最后按下enter键
    		robot.keyPress(KeyEvent.VK_ENTER);
    		robot.delay(20);
    		robot.keyRelease(KeyEvent.VK_ENTER);
    	}
    }

    你可以尽情的想象可以用来做什么,只要你平时能用电脑操作的,机器人可以帮你做到。只是实现的过程有点小麻烦而已。但是,嘿,MAN,JUST DO IT!




     

  • 相关阅读:
    weiphp中会员卡插件CardController控制器代码信息
    weiphp 刮刮卡控制器代码2
    weiphp中会员管理方法代码、刮刮卡部分代码
    weiphp 投票插件的主控制器部分代码
    weiphp 投票插件的主控制器部分代码2
    系统函数
    redis在Linux安装报错
    Linux下安装redis报错信息
    Linux系统相关命令
    Elasticsearch总结
  • 原文地址:https://www.cnblogs.com/horken/p/10706161.html
Copyright © 2011-2022 走看看