java模擬鍵盤,鼠標操作
1.Java 模擬鍵盤輸入的小Demo,實現自動按下:模擬Ctrl+Alt+Z的按下和抬起
如果你開著qq的話,那么qq會自動彈出來.哈哈,代替人工操作;
import java.awt.Robot; import java.awt.event.KeyEvent; public class RobotDemo { private Robot robot = null; public RobotDemo() { try { robot = new Robot(); } catch (AWTException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //模擬Ctrl+Alt+Z的按下和抬起 public void keyBoardDemo() { robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_Z); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_ALT); robot.keyRelease(KeyEvent.VK_Z); } public static void main(String[] args) { RobotDemo demo = new RobotDemo(); demo.keyBoardDemo(); } }
-------------------------------------------------------------------------
2.試試java模擬 空格+Ctrl 按鍵。
按鍵的可以看看我的代碼示例:
public class Rebot extends Robot { String s3=""; public Rebot() throws AWTException { super(); } public void YiDong(int a, int b) { this.mouseMove(a, b); } public void ZanTing(int time) { try { new Thread().sleep(time); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void DianJi() { this.mousePress(MouseEvent.BUTTON1_MASK); this.mouseRelease(MouseEvent.BUTTON1_MASK); } public void HuiChe(){ this.keyPress(KeyEvent.VK_ENTER); this.keyRelease(KeyEvent.VK_ENTER); } }
-------------------------------------------------------------------
4.Java中實現鼠標模擬與鍵盤映射
關鍵字: java 鼠標模擬 鍵盤映射
Java SDK 1.3以后實現了Robot類。此類用于為測試自動化、自運行演示程序和其他需要控制
鼠標和鍵盤的應用程序生成本機系統輸入事件。Robot 的主要目的是便于 Java 平臺實現自
動測試。
使用該類生成輸入事件與將事件發送到 AWT 事件隊列或 AWT 組件的區別在于:事件是在平
臺的本機輸入隊列中生成的。例如,Robot.mouseMove 將實際移動鼠標光標,而不是只生成
鼠標移動事件。
Robot中主要的鼠標和鍵盤控制方法有:
? void keyPress(int keycode) 按下給定的鍵。
? void keyRelease(int keycode) 釋放給定的鍵。
? void mouseMove(int x, int y) 將鼠標指針移動到給定屏幕坐標。
? void mousePress(int buttons) 按下一個或多個鼠標按鈕。
? void mouseRelease(int buttons) 釋放一個或多個鼠標按鈕。
? void mouseWheel(int wheelAmt) 在配有滾輪的鼠標上旋轉滾輪。
下面就讓我們來實戰鼠標控制,實現一個簡單的鼠標控制程序MouseController。程序功能很
簡單:隨機移動鼠標并點擊左鍵。
代碼如下:
import java.awt.AWTException; import java.awt.Dimension; import java.awt.Robot; import java.awt.Toolkit; import java.awt.event.InputEvent; import java.util.Random; /** * * @author Xiaofeng Wang */ public class MouseController implements Runnable { private Dimension dim; private Random rand; private Robot robot; private volatile boolean stop = false; /** Creates a new instance of Main */ public MouseController() { dim = Toolkit.getDefaultToolkit().getScreenSize(); rand = new Random(); try { robot = new Robot(); } catch (AWTException ex) { ex.printStackTrace(); } } public void run() { while(!stop) { int x = rand.nextInt(dim.width); int y = rand.nextInt(dim.height); robot.mouseMove(x, y); robot.mousePress(InputEvent.BUTTON1_MASK); try { Thread.sleep(3000); } catch (InterruptedException ex) { ex.printStackTrace(); } } } public synchronized void stop() { stop = true; } /** * @param args the command line arguments */ public static void main(String[] args) { MouseController mc = new MouseController(); Thread mcThread = new Thread(mc); System.out.println("Mouse Controller start"); mcThread.start(); try { Thread.sleep(60000); } catch (InterruptedException ex) { ex.printStackTrace(); } mc.stop(); System.out.println("Mouse Controller stoped"); } }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!