- 首页 > it技术 > >
java|(微信定时发送消息)一个java文件,完成可配置的微信定时任务
微信java开发语言任务定时
需求来源
当我们再日常工作中,需要每日定时的发送群消息,时间太早的话不想起来,想着可以用java显示定时发送消息的任务.在睡梦中让程序帮我们定时发送消息
功能介绍
定时生日祝福、每日早安、晚安问候
- 检测微信是否再后台运行
- 指定每天多个时间段发送可配置的消息
- 发送图片
- 每个时间段给多个人发送多个消息
- 设置间隔时间(如:两天发一次,一天发一次,每秒发一次)
代码如下
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.KeyEvent;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.List;
import java.util.*;
/**
* @Author: xu
* @Description: 开启定时任务,指定时间,间隔给微信好友发送文本或图片
* @Date: 2021/12/20 20:28
*/
public class TimerTask {
//设置定时任务区间,每隔一天发一次
private static final Long SECTION = (long) (24 * 60 * 60 * 1000);
public static void main(String[] args) throws Exception {
System.out.println("任务执行时间,请保证微信在登录状态并为最小化...");
int weChat = queryProcessCount("WeChat");
if (weChat<=0){
System.err.println("请登陆微信后再尝试运行");
return;
}
int year = LocalDateTime.now().getYear();
int month = LocalDateTime.now().getMonthValue();
int day = LocalDateTime.now().getDayOfMonth();
//任务默认从今天开始
List resource = getResouce();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//遍历某个时间段需要做的事情
for (String todo : resource) {
String[] item = todo.split(" ");
String formatData = https://www.it610.com/article/year+"-"+month+"-"+day+" "+item[0]+":00";
Date firstData = https://www.it610.com/article/simpleDateFormat.parse(formatData);
List
配置信息 需要用到的桌面文本文件配置信息内容
11:14 接收者名称 发送内容;
xjt(接收者名称) img(C:\Users\Hasee\Desktop\checkcode.jpg);
文件传输助手 内容*
11:15 xjt nihao2*
11:16 xjt nihao3
配置文件分析
配置符号由代码中定义。可根据需要进行修改优化
*
:当前时间运行任务结束符,最后一个任务不需要结束符
;
:每个任务的间隔符
空格
:时间与接受者名称与内容的分隔符
img()
:当内容为图片时指定的图片本地绝对地址
使用方式
- 复制上述代码内容为一个名为
TimerTask.java
文件
- 修改文件中,当前环境配置文件指定地址
文章图片
执行编译运行命令
编译
javac -encoding UTF-8 TimerTask.java
开始运行
java TimerTask
【java|(微信定时发送消息)一个java文件,完成可配置的微信定时任务】或者直接在ide开发工具中运行
推荐阅读