Java实现自动给微信好友群组发送消息

  1. 引入依赖
 <dependencies><dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.5.0</version></dependency><dependency><groupId>net.java.dev.jna</groupId><artifactId>jna-platform</artifactId><version>5.5.0</version></dependency></dependencies>
  1. 代码
package com.xf;import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef;import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.KeyEvent;
import java.util.concurrent.TimeUnit;/*** @author xf* @date*/
public class RobotUtil {private static Robot robot;private static Clipboard clip;private static Toolkit kit;public static void main(String[] args) throws AWTException, InterruptedException {// 微信窗口置顶成功if (topWeChat()) {// 初始化init();// 指定需要发送消息的联系人/群组queryItemForSendMessage("盖于谷山上"); // 微信昵称/群名// 发送字符串消息for (int i = 0; i < 300; i++) { // 循环发姐姐// 送TimeUnit.SECONDS.sleep(5);sendStrMessage("姐姐");}// 发送图片消息//sendImgMessage("exceltest.jpg"); // 表情包的路径}}/*** 置顶微信窗口** @return*/public static boolean topWeChat() {boolean flag = true;WinDef.HWND hwnd = User32.INSTANCE.FindWindow(null, "微信");if (hwnd == null) {flag = false;System.out.println("not running");} else {User32.INSTANCE.ShowWindow(hwnd, 9);User32.INSTANCE.SetForegroundWindow(hwnd); // bring to front}return flag;}/*** 初始化全局变量**/private static void init() {try {robot = new Robot();} catch (AWTException e) {robot = null;e.printStackTrace();}kit = Toolkit.getDefaultToolkit();clip = kit.getSystemClipboard();}/*** 查找需要发送消息的人员/群组** @param userName*/public static void queryItemForSendMessage(String itemName) {if (robot == null) {return;}robot.delay(2000); // 给窗口置顶预留时间// 模拟在微信上进行Ctrl+F进行查询操作robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_F);robot.keyRelease(KeyEvent.VK_CONTROL); // 是否Ctrl键// 将字符串放到剪切板内,相当于做了一次复制操作Transferable tText = new StringSelection(itemName);clip.setContents(tText, null);// 以下两行按下了ctrl+v,完成粘贴功能robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);// 释放ctrl按键,像ctrl,退格键,删除键这样的功能性按键,在按下后一定要释放,不然会出问题。crtl如果按住没有释放,在按其他字母按键是,敲出来的回事ctrl的快捷键。robot.keyPress(KeyEvent.VK_ENTER); // 按下enter键进行查询robot.delay(2000); // 预留查询时间robot.keyPress(KeyEvent.VK_ENTER); // 再次按下enter键进行选中robot.delay(1000);}/*** 发送字符串消息** @param message*/public static void sendStrMessage(String message) {if (robot == null) {return;}// 将字符串放到剪切板内,相当于做了一次复制操作Transferable tText = new StringSelection(message);clip.setContents(tText, null);// 以下两行按下了ctrl+v,完成粘贴功能robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);// 释放ctrl按键,像ctrl,退格键,删除键这样的功能性按键,在按下后一定要释放,不然会出问题。crtl如果按住没有释放,在按其他字母按键是,敲出来的回事ctrl的快捷键。robot.keyPress(KeyEvent.VK_ENTER); // 按下enter键进行消息发送robot.delay(1000);}/*** 发送字符串消息** @param message*/public static void sendImgMessage(String imgPath) {if (robot == null) {return;}// 将字符串放到剪切板内,相当于做了一次复制操作Transferable tImg = new ImageSelection(kit.getImage(imgPath));clip.setContents(tImg, null);// 以下两行按下了ctrl+v,完成粘贴功能robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);// 释放ctrl按键,像ctrl,退格键,删除键这样的功能性按键,在按下后一定要释放,不然会出问题。crtl如果按住没有释放,在按其他字母按键是,敲出来的回事ctrl的快捷键。robot.keyPress(KeyEvent.VK_ENTER); // 按下enter键进行消息发送robot.delay(1000);}}
/*** 自定义Transferable实现类实现图片复制到剪切板** @date 2020/05/14*/
class ImageSelection implements Transferable {private Image image;public ImageSelection(Image image) {this.image = image;}// Returns supported flavorspublic DataFlavor[] getTransferDataFlavors() {return new DataFlavor[] {DataFlavor.imageFlavor};}// Returns true if flavor is supportedpublic boolean isDataFlavorSupported(DataFlavor flavor) {return DataFlavor.imageFlavor.equals(flavor);}// Returns imagepublic Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {if (!DataFlavor.imageFlavor.equals(flavor)) {throw new UnsupportedFlavorException(flavor);}return image;}
}

Java实现自动给微信好友群组发送消息相关推荐

  1. python 在企业微信通过群机器人发送消息

    1.在企业微信新建一个群,最开始最好只加入自己,方便测试,以免影响他人 在企业微信群昵称处右键鼠标,选择添加群机器人-添加群机器人-新创建一个机器人,如下图所示: 2.添加完群机器人之后,在群的联系人 ...

  2. 【办公自动化】钉钉机器人每日定时向不同群组发送消息

    实现每日上午10点自动向各供应商群同步前一日产品数据.通过python+钉钉机器人实现该功能.具体步骤如下: 目录 1.创建机器人获得token 2.编写脚本 2.1 数据整理 2.2 消息发送 3. ...

  3. 【uiautomation】批量给微信好友/群聊发消息

  4. Telegram接收群组消息和向telegram群组发送消息

    请参考github上的开源项目,地址:https://github.com/pengrad/java-telegram-bot-api 上面写的很详细,看不懂的私信或留言,有空回复

  5. java通过调用鼠标模拟自动添加微信好友

    鼠标模拟自动添加微信好友 背景 实现 背景 x乎上刷到的帖子 试了几次,没试出来,想着能不能暴力一点,把所有可能的微信号输出出来,然后微信自动添加好友. 实现 参考这位大佬的帖子 他是通过键盘发消息, ...

  6. java借助Robot给微信好友自动发消息(可发送表情包)

    这个其实不光微信,QQ也是可以的,想一下平时如果想刷屏群聊,聊天不爽了想骂回去,惹女朋友生气了想不停的道歉,或者每天定时问候一下,这些如果都要自己手动操作也太麻烦了吧,还不如写一个程序解决了呢.(等等 ...

  7. (可用于虚拟店商品自动发货场景)梦雨百度网盘机器人软件工具好友群组消息自动回复软件

    前言: 这个软件终于算是完工了.下载地址在最下面. 再次感谢反馈问题的小伙伴.... 主要功能: 可以对百度网盘好友.群组进行管理,可以自动回复指定消息. 登入界面截图: 软件特色: 1.可以对好友增 ...

  8. python发微信提醒天气_基于Python实现定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...

  9. java实现如何定时给微信群中发送消息

    大家好,我是雄雄. 前言 前几天,发了一个系列这样的文章,如下所示: java实现每日给女友微信发送早安等微信信息 java实现给微信群中定时推送消息 如何将每日新闻添加到自己博客中,发送到微信群中 ...

最新文章

  1. C++基础——类继承
  2. python中fit内参数的类型_Python fit
  3. boost::math::relative_difference相关用法的测试程序
  4. linux nexus启动_Linux一键部署Nexus 3私服仓库自动化部署脚本
  5. 【Flink】解决 No ExecutorFactory found to execute the application
  6. 2021-09-19SQL42,SQL44,SQL45
  7. springboot改文件头_SpringBoot配置文件常用配置示例
  8. IT程序猿常用编辑工具:UltraEdit for Mac v21.00.0.12中文版
  9. python超声检测成像仿真_- 深度体验树莓派3:实操用Python驱动超声测距模块
  10. Redisson分布式锁学习总结:RedissonMultiLock 如何同时锁住N个资源
  11. mysql创建表格例子_Mysql创建表例子 | restcy 技术博客
  12. 龙卷风路径_中国科普博览_大气科学馆
  13. php is_subclass_of,PHP中的is_subclass_of()函数
  14. 推荐系统9---AFM与DIN模型(推荐系统遇上注意力机制)
  15. js 删除数组元素。
  16. node版本管理工具gnvm
  17. C语言中的二分查找法
  18. 快速创建React Native App
  19. 追风逐日,Wi-SUN助推新能源数字化
  20. 【庄碰辉】生活的姿态

热门文章

  1. Mac单机安装Hadoop
  2. 为何网红都用iPhone?因为安卓在拍照方面一直落后
  3. Vue使用Export2Excel导出表格时隐藏表头
  4. .NetCore 打包发布及引用
  5. ESP8285、ESP8266 和 FPM10光学指纹模块做指纹锁协议 爆光
  6. puppeteer 设置cookie
  7. 在线词云制作tagxedo
  8. 图像梯度——Sobel算子和Laplacian算子
  9. 分布式协议算法——paxos,raft和zab
  10. android adb 点亮 关闭 屏幕 命令