JavaDemo——使用机器人发送微信消息

原理很简单,使用机器人模拟按键,使用剪贴板把内容copy进去发送;

需要先在pc登录微信客户端,然后用机器人按键,使用ctrl+alt+w快捷键打开微信,使用ctrl+f打开搜索,黏贴好友名称进行搜索,然后黏贴要发送的消息发送即可;

此外还需要注意耗时操作,需要等待操作完成后进行下一步操作,否则后续操作会发生故障;

测试demo:

/*** 2022年11月22日上午10:10:11*/
package mytest;import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;/*** @author xwf12**/
public class MainTest {/*** @param args*/public static void main(String[] args) {try {Robot robot = new Robot();//机器人Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();//剪贴板//ctrl+alt+w快捷键打开微信robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_W);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrlrobot.keyRelease(KeyEvent.VK_ALT);//释放altrobot.delay(200);//延时200ms等待微信打开//ctrl+f光标定位到搜索框robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_F);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrl//剪贴板设置内容clipboard.setContents(new StringSelection("文件传输助手"), null);//剪贴板设置要搜索的好友名字//ctrl+v将剪贴板内容黏贴到搜索框robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrlrobot.delay(1000);//延时1s等待搜索结果//回车打开搜索结果的聊天框robot.keyPress(KeyEvent.VK_ENTER);robot.delay(200);//剪贴板设置要输入的内容,ctrl+v黏贴,enter发送clipboard.setContents(new StringSelection("hello world[呲牙]"), null);robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrlrobot.keyPress(KeyEvent.VK_ENTER);//发送消息robot.delay(100);for (int i = 1; i<= 5; i++) {clipboard.setContents(new StringSelection("test[坏笑]" + i), null);robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrlrobot.keyPress(KeyEvent.VK_ENTER);//发送消息robot.delay(100);}//关闭聊天窗口robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_F4);robot.keyRelease(KeyEvent.VK_ALT);} catch (AWTException e) {e.printStackTrace();}}}

程序运行结果:

 

PS:这个Robot类好像能干许多有意思的事,除了按键还能控制鼠标移动、点击鼠标、获取屏幕某个坐标的颜色、截屏,可以用来进行一些自动化操作;

本文链接:https://my.lmcjl.com/post/12462.html

展开阅读全文

4 评论

留下您的评论.