您的位置:首页 > 其它

通过模拟键盘调出“打开或关闭WINDOWS功能”窗口

2011-07-26 11:23 471 查看
package resources;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
public class StartTelnet {
public StartTelnet() {}
public static void main(String[] args) throws Exception {
final Robot rb = new Robot();
new Thread() {
public void run() {
rb.delay(2000);
// 模拟回车
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
// 向下键
//rb.keyPress(KeyEvent.VK_KP_DOWN);
}
}.start();
JOptionPane.showMessageDialog(null,
"以下程序自动执行,包括本对话框,点击运行后请不要移动鼠标和键盘.\n如果不能正常执行程序,请先关闭输入法");
// 设置开始菜单的大概位置
int x = 40;
int y = Toolkit.getDefaultToolkit().getScreenSize().height - 10;
// 鼠标移动到开始菜单,
rb.mouseMove(x, y);
rb.delay(500);
// 单击三次开始菜单
for (int i = 0; i < 3; i++)
pressMouse(rb, InputEvent.BUTTON1_MASK, 500);
rb.delay(1000);
// 运行CMD命令 r cmd enter
// int[] ks =
// {KeyEvent.VK_R,KeyEvent.VK_T,KeyEvent.VK_E,KeyEvent.VK_L,KeyEvent.VK_T,KeyEvent.VK_E,KeyEvent.VK_T,KeyEvent.VK_ENTER,};
int[] ks = { KeyEvent.VK_R, KeyEvent.VK_O, KeyEvent.VK_P,
KeyEvent.VK_T, KeyEvent.VK_I, KeyEvent.VK_O, KeyEvent.VK_N,
KeyEvent.VK_A, KeyEvent.VK_L, KeyEvent.VK_F, KeyEvent.VK_E,
KeyEvent.VK_A, KeyEvent.VK_T, KeyEvent.VK_U, KeyEvent.VK_R,
KeyEvent.VK_E, KeyEvent.VK_S, KeyEvent.VK_ENTER, };
pressKeys(rb, ks, 500);
rb.mouseMove(400, 400);
rb.delay(500);
new Thread() {
public void run() {
rb.delay(1000);
// 回车
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
}
}.start();
JOptionPane.showMessageDialog(null, "演示完毕!");
}
// 鼠标单击,要双击就连续调用
private static void pressMouse(Robot r, int m, int delay) {
r.mousePress(m);
r.delay(10);
r.mouseRelease(m);
r.delay(delay);
}
// 键盘输入
private static void pressKeys(Robot r, int[] ks, int delay) {
for (int i = 0; i < ks.length; i++) {
r.keyPress(ks[i]);
r.delay(10);
r.keyRelease(ks[i]);
r.delay(delay);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: