/**
* Robot類 :
*
* exec 函數(shù)聲明:
* public Process exec (String command) throws IOException ,參數(shù)及功能說明:
* command: 一條指定的系統(tǒng)命令
* 功能:在單獨的進程中執(zhí)行指定的字符串命令
*
* keyPress 函數(shù)說明:
* public void keyPress(int keycode),參數(shù)及功能說明:
* keycode:要按下的鍵(例如,KeyEvent.VK_A)
* 功能:模擬按下指定鍵
*
* keyRelease 函數(shù)說明:
* public void keyRelease(int keycode),參數(shù)及功能說明:
* keycode:要釋放的鍵
* 功能:模擬釋放指定鍵
*
* @param tovep
*/
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class Exce {
public static void main(String[] args) {
try{
//創(chuàng)建自動操作類
Robot robot = new Robot();
/**
*
* 利用Runtime類運行Word程序的方法為:
* Runtime.getRuntime().exec("cmd /c start winword");
* 括號里的是系統(tǒng)命令
*
*/
//啟動記事本程序
Runtime.getRuntime().exec("cmd /c start notepad");
//延緩幾秒鐘,等待記事本程序啟動成功
robot.delay(3000);
//模擬按下"Ctrl + Space" 組合鍵,啟動輸入法
pressKeyWithCtrl(robot,KeyEvent.VK_SPACE);
//模擬隨機按下100個字母,輸入漢字
for(int i=0;i<100;i++){
pressKey(robot, (int) (Math.random()* 25) + 'A');
pressKey(robot,KeyEvent.VK_SPACE);
}
//延緩5秒鐘,一共觀察
robot.delay(5000);
//關閉記事本
//closeApplication(robot);
}catch (Exception e){
System.out.println(e.getMessage());
}
}
//模擬按下鍵盤字符鍵
public static void pressKey(Robot robot, int keyvalue){
//模擬按下
robot.keyPress(keyvalue);
//模擬彈起
robot.keyRelease(keyvalue);
}
//模擬同時按下"Ctrl"鍵和字符鍵
public static void pressKeyWithCtrl(Robot robot, int keyvalue){
//模擬按下
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(keyvalue);
//模擬彈起
robot.keyPress(keyvalue);
robot.keyRelease(KeyEvent.VK_CONTROL);
}
//模擬按下"Alt + F4"組合鍵,關閉當前應用程序
public static void closeApplication(Robot robot){
//模擬按下"Alt + F4"組合鍵
//模擬按下
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F4);
//模擬彈起
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_F4);
//模擬按下"N",不保存文件退出記事本程序
//模擬按下
robot.keyPress(KeyEvent.VK_N);
//模擬彈起
robot.keyRelease(KeyEvent.VK_N);
}
}
posted on 2010-11-17 00:14
tovep 閱讀(5416)
評論(1) 編輯 收藏