原理很简单,使用机器人模拟按键,使用剪贴板把内容copy进去发送;

需要先在pc登录微信客户端,然后用机器人按键,使用ctrl+alt+w快捷键打开微信,使用ctrl+f打开搜索,黏贴好友名称进行搜索,然后黏贴要发送的消息发送即可;

此外还需要注意耗时操作,需要等待操作完成后进行下一步操作,否则后续操作会发生故障;

测试demo:

/*** 2022年11月22日上午10:10:11*/
package mytest;import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;/*** @author xwf12**/
public class MainTest {/*** @param args*/public static void main(String[] args) {try {Robot robot = new Robot();//机器人Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();//剪贴板//ctrl+alt+w快捷键打开微信robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_W);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrlrobot.keyRelease(KeyEvent.VK_ALT);//释放altrobot.delay(200);//延时200ms等待微信打开//ctrl+f光标定位到搜索框robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_F);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrl//剪贴板设置内容clipboard.setContents(new StringSelection("文件传输助手"), null);//剪贴板设置要搜索的好友名字//ctrl+v将剪贴板内容黏贴到搜索框robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrlrobot.delay(1000);//延时1s等待搜索结果//回车打开搜索结果的聊天框robot.keyPress(KeyEvent.VK_ENTER);robot.delay(200);//剪贴板设置要输入的内容,ctrl+v黏贴,enter发送clipboard.setContents(new StringSelection("hello world[呲牙]"), null);robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrlrobot.keyPress(KeyEvent.VK_ENTER);//发送消息robot.delay(100);for (int i = 1; i<= 5; i++) {clipboard.setContents(new StringSelection("test[坏笑]" + i), null);robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrlrobot.keyPress(KeyEvent.VK_ENTER);//发送消息robot.delay(100);}//关闭聊天窗口robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_F4);robot.keyRelease(KeyEvent.VK_ALT);} catch (AWTException e) {e.printStackTrace();}}}

程序运行结果:

PS:这个Robot类好像能干许多有意思的事,除了按键还能控制鼠标移动、点击鼠标、获取屏幕某个坐标的颜色、截屏,可以用来进行一些自动化操作;

JavaDemo——使用机器人发送微信消息相关推荐

  1. Python发送微信消息(文字、图片、文件)给指定好友和微信群,零基础可看懂(附源码和教程)

    前言 本示例是调用Windows API模拟发送,用Python调用win32api这个库来调用Windows API模拟人的手动操作来发送消息. 在使用前,请将你微信的窗口设置为在最前面,这样就便于 ...

  2. Python发送微信消息(文字、图片、文件)给指定好友和微信群(调用Win32 API模拟人的手动操作来发送消息)

    本示例是调用Windows API模拟发送,用Python调用win32api这个库来调用Windows API模拟人的手动操作来发送消息. 在使用前,请将你微信的窗口设置为在最前面,这样就便于程序找 ...

  3. 【小玩意儿】使用Python自动化发送微信消息进行订水

    事情是这样的,我知道淘宝上有卖一种USB接口的大按钮,估计是给工厂或者医院之类的场景设计的,样子长这样: 然后我就一直挺想搞一个的,不为别的,就是玩,但是想来想去也没想到这玩意儿对我而言能有啥用途,就 ...

  4. 全网最全的Windows下Anaconda2 / Anaconda3里Python语言实现定时发送微信消息给好友或群里(图文详解)...

    不多说,直接上干货! 缘由: (1)最近看到情侣零点送祝福,感觉还是很浪漫的事情,相信有很多人熬夜为了给爱的人送上零点祝福,但是有时等着等着就睡着了或者时间并不是卡的那么准就有点强迫症了,这是也许程序 ...

  5. python自动发送微信-Python自动定时发送微信消息

    如今微信已成为我们日常生活的主要交流工具,利用itchat库,我们可以发送微信消息,如果需要定时自动发送,则需要借助apscheduler库,关于apscheduler库,前一篇转载文章有专门的介绍. ...

  6. 用python实现自动化办公------定时发送微信消息

    python自动化办公------定时发送微信消息 身边的一位朋友的真实事迹分享给大家,就暂称他C吧.C是一个英俊潇洒的健身男,经常沾花惹草,桃花运不断,听C说他的微信好友就有5000+,平时回消息都 ...

  7. telegram自动发信息_zabbix调用telegram机器人发送报警消息

    众所周知,telegram的机器人还是非常好用,而且是免费的,所以这就给监控系统发送报警消息提供了一个非常好的渠道,相信很多朋友已经垂涎三尺了,所以废话不多说,直奔主题吧! zabbix系统基础配置部 ...

  8. 使用Java实现发送微信消息(附源码)_此程序在手再也不怕对象跟你闹了

    使用Java实现发送微信消息(附源码)_此程序在手再也不怕对象跟你闹了 此程序在手再也不怕女朋友跟你闹了!!!!自从有了女朋友比如:早安.晚安之类的问候语可不能断,但是也难免有时候会忘记那么该咋么办呢 ...

  9. 利用Python发送微信消息的方法

    微信是支持用快捷键打开主界面的,这个可以在微信的设置里看到,如下图所示 我们就可以利用这一特性,用Python模拟按快捷键的操作,用来打开微信主界面. 打开主界面之后,使用Ctrl+F,定位到微信的搜 ...

最新文章

  1. SpringBoot整合RabbitMQ-整合演示
  2. 正则小记 javascript
  3. python调用sqlldr_sqlldr导入数据
  4. 【问链财经-区块链基础知识系列】 第四十六课 区块链如何作用于医药行业
  5. Unable to compile class for JSP的解决方法
  6. 按照 排序 oracle,oracle 按照中文排序
  7. OpenCV2:幼儿园篇 第四章 访问图像
  8. excel自动生成舒尔特表_EXCEL自动生成的PPT
  9. 如何搭建企业局域网共享
  10. java swing 示例_JAVA简单Swing图形界面应用演示样例
  11. WildFly 9 –别希望您的控制台像这样!
  12. 幅值与峰峰值的计算_电厂振动测量、计算基础及汽轮机组振动标准!
  13. 653B. Bear and Compressing
  14. pycharm-设快捷代码热键
  15. C#水晶报表,窗体不显示,闪退
  16. 975分过CCNA 640-801体会分享
  17. H264视频压缩算法简析
  18. R语言绘制花瓣图flower plot
  19. Python学习笔记:PYQT5 文字及绘图旋转
  20. related、relative和relevant表示相关意思时的区别

热门文章

  1. java arraylist to array_ArrayList的toArray
  2. docker onlyoffice使用教程
  3. github Page博客速度优化+Cloudflare_https两端配置+解决重定向次数过多问题
  4. 120亿美元打造 美军战地移动网络被曝存重大漏洞
  5. 小程序-地图(腾讯地图)
  6. 5G超新时代,点燃了25G和100G光模块市场
  7. uni-app权限翻译
  8. java反射getmethod用法_Java反射之 getMethod() 与invoke的使用
  9. 分布式-4分布式集群
  10. 基于51单片机的8x16及8x8点阵滚动广告牌proteus仿真