如何用Java Robot来实现手机控制电脑?

Java中用Robot类控制鼠标和键盘的方法
http://www.c114.net ( 2007/8/17 00:00 )

Java.awt.Robot 类用于控制鼠标和键盘。一旦你得到这种控制,你能够通过你的Java代码做与鼠标和键盘任何类型的操作。这个类通常用于自动化测试。下面的代码样例将向您展示Robot类如何处理键盘事件。如果你运行此代码,并打开notepad,您将在notepad中看到HI CAOER.赶快试一试吧。

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class RobotExp {
public static void main(String[] args) {
try {
Robot robot = new Robot();
//定义5秒的延迟以便你打开notepad
// Robot 开始写
robot.delay(5000);
robot.keyPress(KeyEvent.VK_H);
robot.keyPress(KeyEvent.VK_I);
robot.keyPress(KeyEvent.VK_SPACE);
robot.keyPress(KeyEvent.VK_C);
robot.keyPress(KeyEvent.VK_A);
robot.keyPress(KeyEvent.VK_O);
robot.keyPress(KeyEvent.VK_E);
robot.keyPress(KeyEvent.VK_R);
} catch (AWTException e) {
e.printStackTrace();
}
}
}

网友完善了以上代码:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.io.IOException;

public class RobotExp {
public static void pressKey(Robot robot, int keyvalue) {
robot.keyPress(keyvalue);
robot.keyRelease(keyvalue);
}
public static void pressKeyWithShift(Robot robot, int keyvalue) {
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(keyvalue);
robot.keyRelease(keyvalue);
robot.keyRelease(KeyEvent.VK_SHIFT);
}
public static void closeApplication(Robot robot) {
// pressKey(robot, KeyEvent.VK_ALT);
// pressKey(robot, KeyEvent.VK_F4);
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F4);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_F4);
//for linux.
// robot.keyPress(KeyEvent.VK_ALT);
// robot.keyPress(KeyEvent.VK_W);
// robot.keyRelease(KeyEvent.VK_ALT);
// robot.keyRelease(KeyEvent.VK_W);
robot.keyPress(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_N);
}
public static void main(String[] args) throws IOException {
try {
Robot robot = new Robot();
Runtime.getRuntime().exec("notepad");
// For linux.
//Runtime.getRuntime().exec("gedit");
//定义5秒的延迟以便你打开notepad 哈哈
// Robot 开始写
robot.delay(3000);
for (int i = 0; i < 100; i++) {
pressKeyWithShift(robot, KeyEvent.VK_H);
pressKey(robot, KeyEvent.VK_I);
pressKey(robot, KeyEvent.VK_SPACE);
//pressKeyWithShift(robot, KeyEvent.VK_H);
pressKeyWithShift(robot, KeyEvent.VK_I);
pressKey(robot, KeyEvent.VK_SPACE);
pressKey(robot, KeyEvent.VK_A);
pressKey(robot, KeyEvent.VK_M);
pressKey(robot, KeyEvent.VK_SPACE);
pressKey(robot, KeyEvent.VK_T);
pressKey(robot, KeyEvent.VK_H);
pressKey(robot, KeyEvent.VK_E);
pressKey(robot, KeyEvent.VK_SPACE);
pressKey(robot, KeyEvent.VK_J);
pressKey(robot, KeyEvent.VK_A);
pressKey(robot, KeyEvent.VK_V);
pressKey(robot, KeyEvent.VK_A);
pressKey(robot, KeyEvent.VK_SPACE);
pressKey(robot, KeyEvent.VK_R);
pressKey(robot, KeyEvent.VK_O);
pressKey(robot, KeyEvent.VK_B);
pressKey(robot, KeyEvent.VK_O);
pressKey(robot, KeyEvent.VK_T);
// VK_ENTER
pressKey(robot, KeyEvent.VK_ENTER);
//pressKey(robot, KeyEvent.);
}
closeApplication(robot);
//robot.keyPress(KeyEvent.VK_SPACE);
} catch (AWTException e) {
e.printStackTrace();
}
}
}

来源:赛迪网技术社区 作者:dxaw
作者: 来源: 0

手机控制电脑 java代码~

学过struts吗,你可以在java端定义接口,接口调用CMD命令的程序,然后再安卓端调用struts配置的请求路径,在电脑上运行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);

#15580159663# java 如何寻找网页控件位置? 做robot自动点击的时候,如何获取网页中按钮位置(坐标) ******
#禹莺# MouseInfo类 可以得到鼠标在屏幕上的坐标.所以你点按钮调用java程序的时候可以使用这个类

#15580159663# 如何以Java实现网页截图技术 - ******
#禹莺# 1、最直接的方式——使用Robot 方法详解:该方法利用Robat提供的强大桌面操作能力,硬性调用浏览器打开指定网页,并将网页信息保存到本地.优势:简单易用,不需要任何第三方插件.缺点:不能同时处理大量数据,技术含量过低,属于...

#15580159663# 如何在java中调用按键精灵脚本 - ******
#禹莺# 采用java Robot类可以实现你的需求,Robot类的操作是基于坐标的,可以进行点击、输入等操作.具体请查阅Robot类帮助.

#15580159663# java 如何实现控制鼠标点击 - ******
#禹莺# robot.mousePress(int buttons) 参数butons是Button掩码,如InputEvent.BUTTON1_MASK控制软件阿,是不是可以获取Button掩码,如先获取个InputEvent对象然后再调用getModifiers()方法.我觉得是,可以试试.

#15580159663# 用java程序实现 - ******
#禹莺# 机器人类(源类): public class Robot {public void cry(){System.out.println("机器人叫");}public void run(){System.out.println("机器人跑");} } 狗类(目标类): public class Dog {public void cry(){System.out.println("像狗一...

#15580159663# 如何用java的jna模拟键盘按键 - ******
#禹莺# 这个比较简单的,用 java.awt.Robot 来实现就行了.Robot 对象有几个个方法就是操作键盘的:void keyPress(int kc); void keyRelease(int kc);//例子 import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; public ...

#15580159663# java用robot.keypress打出符号"!"和"!" - ******
#禹莺# import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; import java.awt.event.KeyListener;import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField;public class CharTest extends ...

#15580159663# JAVA 如何把Robot封装成一个数据源 - ******
#禹莺# set<int> temp; int num[]={2,3,6,7,8}; //for ( int i = 2 ; i < 6 ; i++ ) // dfs ( temp , i , 0 , 2 ); for ( int i = 0 ; i < 5 ; i++ ) dfs ( temp , num[i] , 0 , 1 ); set<int>::iterator it = temp.begin(); for ( ; it != temp.end() ; it++ ) printf ( "%d " , *it); puts("");

#15580159663# 如何用JAVA程序模拟按键 - ******
#禹莺# java.awt.Robot//模拟Ctrl+Alt+Z的按下和抬起public void keyBoardDemo(){robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_Z);robot.keyRelease(KeyEvent.VK_CONTROL);robot.keyRelease(KeyEvent.VK_ALT);robot.keyRelease(KeyEvent.VK_Z);}

#15580159663# java中这个类是干什么用的?Robot robot=new Robot(); - ******
#禹莺# 此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件.Robot 的主要目的是便于 Java 平台实现自动测试.使用该类生成输入事件与将事件发送到 AWT 事件队列或 AWT 组件的区别在于:事件是...

为传递更多家电数码信息,若有事情请联系
数码大全网