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