/** * 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.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); } } |