//利用java.awt.Robot类来自一些键盘或鼠标的动作,下流程:模拟鼠标左键点击-->运行-->CMD-->DIR-->CLS-->EXIT//模拟右键点击移动到右下角-->右键点击-->调整日期和时间-->退出importjava.awt.*;importjava.awt.event.*;importjavax.swing.JOptionPane;//Test.javapublicclassTest{publicstaticvoidmain(String[]args)throwsException{finalRobotrb=newRobot();newThread(){publicvoidrun(){rb.delay(2000);//回车rb.keyPress(KeyEvent.VK_ENTER);rb.keyRelease(KeyEvent.VK_ENTER);}}.start();JOptionPane.showMessageDialog(null,"以下程序自动执行,包括本对话框,请不必进行人为干预.\n如果不能正常执行程序,请先关闭输入法");//设置开始菜单的大概位置intx=40;inty=Toolkit.getDefaultToolkit().getScreenSize().height-10;//鼠标移动到开始菜单,rb.mouseMove(x,y);rb.delay(500);//单击三次开始菜单for(inti=0;i<3;i++)pressMouse(rb,InputEvent.BUTTON1_MASK,500);rb.delay(1000);//运行CMD命令rcmdenterint[]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命令direnterks=newint[]{KeyEvent.VK_D,KeyEvent.VK_I,KeyEvent.VK_R,KeyEvent.VK_ENTER};pressKeys(rb,ks,500);rb.delay(1000);//运行CLS命令clsenterks=newint[]{KeyEvent.VK_C,KeyEvent.VK_L,KeyEvent.VK_S,KeyEvent.VK_ENTER};pressKeys(rb,ks,500);rb.delay(1000);//运行EXIT命令exitenterks=newint[]{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);//显示日期调整对话框apressKeys(rb,newint[]{KeyEvent.VK_A},1000);rb.delay(2000);pressKeys(rb,newint[]{KeyEvent.VK_ESCAPE},0);rb.delay(1000);newThread(){publicvoidrun(){rb.delay(1000);//回车rb.keyPress(KeyEvent.VK_ENTER);rb.keyRelease(KeyEvent.VK_ENTER);}}.start();JOptionPane.showMessageDialog(null,"演示完毕!");}//鼠标单击,要双击就连续调用privatestaticvoidpressMouse(Robotr,intm,intdelay){r.mousePress(m);r.delay(10);r.mouseRelease(m);r.delay(delay);}//键盘输入privatestaticvoidpressKeys(Robotr,int[]ks,intdelay){for(inti=0;i<ks.length;i++){r.keyPress(ks[i]);r.delay(10);r.keyRelease(ks[i]);r.delay(delay);}}}
阅读全文 >