package com.moral.api.utils;
|
|
import lombok.SneakyThrows;
|
|
import java.awt.*;
|
import java.awt.datatransfer.Clipboard;
|
import java.awt.datatransfer.StringSelection;
|
import java.awt.datatransfer.Transferable;
|
import java.awt.event.KeyEvent;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.Timer;
|
import java.util.TimerTask;
|
|
/**
|
* @ClassName WcharTest
|
* @Description TODO
|
* @Author @cjl
|
* @Date 2023-12-07 14:27
|
* @Version 1.0
|
*/
|
public class WcharTest {
|
public static void main(String[] args) throws ParseException {
|
// 好友昵称
|
String friendNickName = "文件传输助手";// "文件传输助手";
|
String msg="测试发送消息00";//发送内容
|
Timer timer = new Timer();
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
Date date = format.parse("2023-07-03 14:43:00");
|
System.out.println("进入定时器");
|
timer.schedule(new TimerTask() {
|
@SneakyThrows
|
@Override
|
public void run() {
|
sendMsgforSp(friendNickName, msg);
|
}
|
},date);
|
System.out.println("结束");
|
}
|
|
/**
|
* 发送消息给好友
|
* @param friendNickName 指定好友
|
* @param msg 消息内容
|
* @throws AWTException
|
*/
|
public static void sendMsgforSp(String friendNickName, String msg) throws AWTException {
|
//创建robot对象
|
Robot robot = new Robot();
|
//第一步:打开微信 control+alt+w
|
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(2000);
|
|
//第二步搜索好友
|
// 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(2000);
|
robot.keyPress(KeyEvent.VK_ENTER);
|
robot.delay(2000);
|
|
//第三步发送消息
|
//发送消息
|
// 将字符串复制到剪切板
|
Transferable tText1 = new StringSelection(msg);
|
clip.setContents(tText1, null);
|
// 以下两行按下了ctrl+v,完成粘贴功能
|
robot.keyPress(KeyEvent.VK_CONTROL);
|
robot.keyPress(KeyEvent.VK_V);
|
robot.keyRelease(KeyEvent.VK_CONTROL);
|
// 回车发送
|
robot.keyPress(KeyEvent.VK_ENTER);
|
robot.delay(2000);
|
}
|
}
|