原文地址:点击打开链接
直接上代码
TestInput 实现了一个输入的操作
import java.awt.Robot;import java.awt.Toolkit;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.StringSelection;import java.awt.datatransfer.Transferable;import java.awt.event.KeyEvent;/** * Java小机器人打开记事本自己输入文字 * @author Wayss * */public class TestInput { public static void main(String [] args) throws Exception{ Robot robot = new Robot(); //调用系统方法打开记事本 Runtime.getRuntime().exec("notepad"); robot.delay(2000); //全屏显示// keyPRessWithAlt(robot,KeyEvent.VK_SPACE); //输入x keyPress(robot, KeyEvent.VK_X); //输入回车 keyPress(robot, KeyEvent.VK_ENTER); robot.delay(1000); //输入字符串 keyPressString(robot,"Hello, I'm Robot"); } //Shift组合键 public static void keyPressWithShift(Robot r,int key){ //按下Shift r.keyPress(KeyEvent.VK_SHIFT); //按下某个键 r.keyPress(key); //释放某个键 r.keyRelease(key); //释放Shift r.keyRelease(KeyEvent.VK_SHIFT); //等待100ms r.delay(100); } //Ctrl组合键 public static void keyPressWithCtrl(Robot r,int key){ r.keyPress(KeyEvent.VK_CONTROL); r.keyPress(key); r.keyRelease(key); r.keyRelease(KeyEvent.VK_CONTROL); r.delay(100); } //Alt组合键 public static void keyPressWithAlt(Robot r ,int key){ r.keyPress(KeyEvent.VK_ALT); r.keyPress(key); r.keyRelease(key); r.keyRelease(KeyEvent.VK_ALT); r.delay(100); } //输入字符串 public static void keyPressString(Robot r ,String str){ //获取剪切板 Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); //将传入字符串封装下 Transferable tText = new StringSelection(str); //将字符串放入剪切板 clip.setContents(tText, null); //按下Ctrl+V实现粘贴文本 keyPressWithCtrl(r, KeyEvent.VK_V); r.delay(100); } //输入数字 public static void keyPressNumber(Robot r ,int number){ //将数字转成字符串 String str = Integer.toString(number); //调用字符串的方法 keyPressString(r,str); } //实现按一次某个按键 public static void keyPress(Robot r,int key){ //按下键 r.keyPress(key); //释放键 r.keyRelease(key); r.delay(1000); } //哈哈,快速打开QQ消息(这个组合键因人而异) public static void keyPressAtlWithCtrlWithZ(Robot r){ r.keyPress(KeyEvent.VK_ALT); r.keyPress(KeyEvent.VK_CONTROL); r.keyPress(KeyEvent.VK_Z); r.keyRelease(KeyEvent.VK_Z); r.keyRelease(KeyEvent.VK_CONTROL); r.keyRelease(KeyEvent.VK_ALT); } //点击一下鼠标左键 public static void mouseLeftHit(Robot r){ r.mousePress(KeyEvent.BUTTON1_DOWN_MASK); r.mouseRelease(KeyEvent.BUTTON1_DOWN_MASK); r.delay(1000); }}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114TestDeskTop模拟实现在QQ对话窗口输入文字
import java.awt.AWTException;import java.awt.Desktop;import java.awt.Robot;import java.awt.event.KeyEvent;import java.io.File;import java.io.IOException;/** * Java实现在QQ上输入文字并发送 * @author Wayss * */public class TestDeskTop { static Desktop deskapp = Desktop.getDesktop(); public static void main(String [] args) throws AWTException{ inputQQ(); } public static void openQQ(){ //判断当前系统释放支持Desktop提供的接口 if(Desktop.isDesktopSupported()){ try { deskapp.open(new File("D://Program Files//QQ//Bin//QQScLauncher.exe")); } catch (IOException e) { e.printStackTrace(); } } } public static void inputQQ() throws AWTException{ Robot robot = new Robot(); //3等待3秒后开始执行下面的自动键盘事件 robot.delay(3000); //点击鼠标左键(目的是让光标放到QQ上) TestInput.mouseLeftHit(robot); for(int i = 0 ; i < 10; i++){ //输入笑脸 TestInput.keyPressString(robot, "/wx"); //按下回车 TestInput.keyPress(robot, KeyEvent.VK_ENTER); } }}12345678910111213141516171819202122232425262728293031323334353637383940414243441234567891011121314151617181920212223242526272829303132333435363738394041424344使用方法 1.提前登陆好QQ,最好打开和某人的对话窗口; 2.到eclipse中运行TestDeskTop这个类; 3.运行后在3秒内打开QQ对话窗口; 4.然后应该就可以看到效果了.
感谢 写这个博客之前看了几篇前辈的博客,感谢他们的乐于分享.