cjl
2023-12-14 b157e41411b77abcbb0e9d3d59fabc1d951b47ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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);
    }
}