Java 指定微信好友自动发送消息的实现示例
时间:2021-03-02 11:48:27|栏目:JAVA代码|点击: 次
Backgroud
原理很简单:robot类模拟键盘输入,快捷键打开微信,搜索好友,把发送内容发送到粘贴板实现。
程序源码
package com.cloudansys.test;
import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.KeyEvent;
public class T6 {
public static void main(String[] args) throws InterruptedException {
// 好友昵称
String friendNickName = "不器";
// String friendNickName = "文件传输助手";
searchMyFriendAndSend(friendNickName);
}
private static void searchMyFriendAndSend(String friendNickName) throws InterruptedException {
// 创建Robot对象
Robot robot = null;
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
//打开微信 Ctrl+Alt+W
assert robot != null;
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_W);
//释放Ctrl按键,像Ctrl,退格键,删除键这样的功能性按键,在按下后一定要释放
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_ALT);
// 该延迟不能少,否则无法搜索
robot.delay(1000);
// Ctrl + F 搜索指定好友
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_F);
robot.keyRelease(KeyEvent.VK_CONTROL);
// 将好友昵称发送到剪切板
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable tText = new StringSelection(friendNickName);
clip.setContents(tText, null);
// 以下两行按下了ctrl+v,完成粘贴功能
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.delay(1000);
robot.keyPress(KeyEvent.VK_ENTER);
// 发送消息
sendMsg();
}
private static void sendMsg() throws InterruptedException {
String[] mottoes = {
"我只爱你四天,春天夏天秋天冬天!",
"我只爱你三天,昨天,今天,明天!",
"我只爱你两天,白天,黑天!",
"我只爱你一天,每一天!",
"[玫瑰]爱你么么哒!",
"[呲牙][坏笑]",
"[奸笑]"
};
for (String motto : mottoes) {
sendOneMsg(motto);
}
Thread.sleep(2000);
sendOneMsg("[得意]就问你,腻不腻害!");
}
}
效果如下图所示

上一篇:Java反射简易教程
栏 目:JAVA代码
下一篇:Springboot 项目读取Resources目录下的文件(推荐)
本文地址:http://www.codeinn.net/misctech/73077.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




