Day02 ---- 我写出来了一个能控制电脑的程序!!
一,PC端设想
之前想好了大致的流程,这次就要尝试一下看看电脑端到底能不能完成相应的功能,如果能的话那我们的APP就有70%的可行性啦~这是在我们过程中最重要的!
在网上经过多番查找,大多数都是监听鼠标键盘时间的,找了很久,才找到了我们梦寐以求的类----Robot。它可以实现对鼠标和键盘的控制,那么就可以帮助我们完成我们的计划啦~~
迫不及待的,我赶紧打开了我的Eclipse,打开JavaAPI文档,找到了Robot类,它在awt包中。看了它给的方法介绍,我便开始写了一个简单的控制鼠标移动的程序,成功啦!! (下面我会附上相应的代码)
二,控制鼠标键盘
Robot robot = new Robot();
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(10);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
以上代码,就是最简单的控制鼠标单击,其全过程是:鼠标按下--鼠标停滞--鼠标抬起。其代码也相当简单,直接生成Robot类的对象即可直接使用其中的方法。mousePress中的参数(ImputEvent.BUTTON1_MASK)的意思就是鼠标的左键。
通过上述简单的代码,就可以实现鼠标的左键单击。
-----------------------------------------
Robot robot = new Robot();
robot.mouseMove(x, y);
这段代码,就是将鼠标移动到点(x,y)处,以屏幕左上角为(0,0)点。
-----------------------------------------
Robot robot = new Robot();
robot.keyPress(keyCode_1);
robot.keyRelease(keyCode_1);
这段代码,是控制键盘按键,其参数就是键盘的键位码,比如 VK_ENTER 等
三,总结
今天整体上就是知道了如何用程序控制鼠标键盘,而且中间有一个小插曲----我在写代码的时候,想试试能否让鼠标一直移动,于是就写了一个死循环,让鼠标一直动。程序一跑起来,一下子遇到麻烦了,鼠标动的快的就像流星雨一样,怎么也停不下来。我用的是Macbook,并不熟悉里面的退出程序快捷键,就看着鼠标闪过来闪过去。想了一下,赶紧拿出手机,查了查怎么让Eclipse关闭,先查了Eclipse的快捷键,没有,后来又查了OSX的快捷键,才找到了Command+Q可以退出程序,这才把程序退出了。
经过这件事以后,我突然觉得其实黑客程序不就是这么干的么,其实如果我们把我们的程序改动改动,完全可以编程一个远程控制电脑的黑客程序(这个想法可不好,哈哈),只需要将PC端通过某种手段植入电脑,就可以实现远程控制,想想都有点怕怕的呢,嘿嘿,算啦,不想啦,先把大作业做好再说~