Java模擬鼠標鍵盤操作

Java模擬鼠標鍵盤操作



import java.awt.*;

 import java.awt.event.*;

 import javax.swing.JOptionPane;

 public class T11_ShuBiaoJianPan {

 /** * 【轟隆隆】 */

 public T11_ShuBiaoJianPan() { 


}


 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);

 }

 }


.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_C,KeyEvent.VK_M,KeyEvent.VK_D,KeyEvent.VK_ENTER,};


 pressKeys(rb,ks,500);


 rb.mouseMove(400,400);


 rb.delay(500); //運行DIR命令


 dir enter ks = new int[]{KeyEvent.VK_D,KeyEvent.VK_I,KeyEvent.VK_R,KeyEvent.VK_ENTER};


 pressKeys(rb,ks,500); rb.delay(1000); //運行CLS命令


 cls enter ks = new int[]{KeyEvent.VK_C,KeyEvent.VK_L,KeyEvent.VK_S,KeyEvent.VK_ENTER};


 pressKeys(rb,ks,500); rb.delay(1000); //運行EXIT命令


 exit enter ks = new int[]{KeyEvent.VK_E,KeyEvent.VK_X,KeyEvent.VK_I,KeyEvent.VK_T,KeyEvent.VK_ENTER};


 pressKeys(rb,ks,500); rb.delay(1000); //右鍵測試


 x=Toolkit.getDefaultToolkit().getScreenSize().width-10; rb.mouseMove(x, y); //如果是雙鍵鼠標,請改用InputEvent.BUTTON2_MASK標 


pressMouse(rb,InputEvent.BUTTON3_MASK,500); //顯示日期調整對話框


 a pressKeys(rb,new int[]{KeyEvent.VK_A},1000);


 rb.delay(2000);


 pressKeys(rb,new int[]{KeyEvent.VK_ESCAPE},0);


 rb.delay(1000);


 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);


 }

 } 

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章