Python发送微信消息(文字、图片、文件)给指定好友和微信群,零基础可看懂(附源码和教程)
前言
本示例是调用Windows API模拟发送,用Python调用win32api这个库来调用Windows API模拟人的手动操作来发送消息。
在使用前,请将你微信的窗口设置为在最前面,这样就便于程序找到你的窗口!
文末可获取大量Python学习资源
import pyautogui
import time
import win32api
import win32con
import win32gui
import win32Clipboard as w
def FindWindow(chatroom):
win = win32gui.FindWindow(None, chatroom)
print(“找到窗口句柄:%x” % win)
if win != 0:
win32gui.ShowWindow(win, win32con.SW_SHOWMINIMIZED)
win32gui.ShowWindow(win, win32con.SW_SHOWNORMAL)
win32gui.ShowWindow(win, win32con.SW_SHOW)
win32gui.SetWindowPos(win, win32con.HWND_TOPMOST, 0, 0, 300, 500, win32con.SWP_SHOWWINDOW)
win32gui.SetForegroundWindow(win) # 获取控制
time.sleep(1)
tit = win32gui.GetWindowText(win)
print(‘已启动【’+str(tit)+‘】窗口’)
else:
print(‘找不到【%s】窗口’ % chatroom)
exit()
#设置和粘贴剪贴板
def ClipboardText(ClipboardText):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, ClipboardText)
w.CloseClipboard()
time.sleep(1)
win32api.keybd_event(17,0,0,0)
win32api.keybd_event(86,0,0,0)
win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0)
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)
#模拟发送动作
def SendMsg():
win32api.keybd_event(18, 0, 0, 0)
win32api.keybd_event(83,0,0,0)
win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0)
win32api.keybd_event(83,0,win32con.KEYEVENTF_KEYUP,0)
#模拟发送微信消息
def SendWxMsg(wxid,sendtext):
# 先启动微信
FindWindow(‘微信’)
time.sleep(1)
# 定位到搜索框
pyautogui.moveTo(143, 39)
pyautogui.click()
# 搜索窗口
ClipboardText(wxid)
time.sleep(1)
# 进入窗口
pyautogui.moveTo(155, 120)
pyautogui.click()
# 粘贴文本内容
ClipboardText(sendtext)
SendMsg()
print(‘已发送’)
#调用函数(微信号或微信昵称或备注,需要发送的文本消息)
SendWxMsg(‘face6009’,‘Python发送微信消息’)
动图演示
经过学习,我在想要不要用这个方法实现一套简单的微信操作脚本,然后写成HttpApi,然后通过Http进行调用,在网页实现简单的远程控制微信,或者做个机器人等,都可以,但这个目前应该还会有不少的问题,例如延迟,精准度,这些都是一个问题,所以市面上没有人做这类型的,目前我已经实现了部分功能。
1、发送消息给好友
2、发送消息到微信群
3、邀请微信进群
4、将微信移出群聊
5、发布群公告
6、转发一篇图文
import pyautogui
import time
import win32api
import win32con
import win32gui
import win32clipboard as w
def FindWindow(chatroom):
win = win32gui.FindWindow(None, chatroom)
print(“找到窗口句柄:%x” % win)
if win != 0:
win32gui.ShowWindow(win, win32con.SW_SHOWMINIMIZED)
win32gui.ShowWindow(win, win32con.SW_SHOWNORMAL)
win32gui.ShowWindow(win, win32con.SW_SHOW)
win32gui.SetWindowPos(win, win32con.HWND_TOP, 0, 0, 500, 700, win32con.SWP_SHOWWINDOW)
win32gui.SetForegroundWindow(win) # 获取控制
time.sleep(1)
tit = win32gui.GetWindowText(win)
print(‘已启动【’+str(tit)+‘】窗口’)
else:
print(‘找不到【%s】窗口’ % chatroom)
exit()
#设置和粘贴剪贴板
def ClipboardText(ClipboardText):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, ClipboardText)
w.CloseClipboard()
time.sleep(1)
win32api.keybd_event(17,0,0,0)
win32api.keybd_event(86,0,0,0)
win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0)
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)
#模拟发送动作
def SendMsg():
win32api.keybd_event(18, 0, 0, 0)
win32api.keybd_event(83,0,0,0)
win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0)
win32api.keybd_event(83,0,win32con.KEYEVENTF_KEYUP,0)
#模拟发送微信文本消息
def SendWxMsg(wxid,sendtext):
# 先启动微信
FindWindow(‘微信’)
time.sleep(1)
# 定位到搜索框
pyautogui.moveTo(143, 39)
pyautogui.click()
# 搜索微信
ClipboardText(wxid)
time.sleep(1)
# 进入聊天窗口
pyautogui.moveTo(155, 120)
pyautogui.click()
# 粘贴文本内容
ClipboardText(sendtext)
# 发送
SendMsg()
print(‘已发送’)
# 关闭微信窗口
time.sleep(1)
pyautogui.moveTo(683, 16)
pyautogui.click()
#模拟发送文件消息(图片、文档、压缩包等)
def SendWxFileMsg(wxid,imgpath):
# 先启动微信
FindWindow(‘微信’)
time.sleep(1)
# 定位到搜索框
pyautogui.moveTo(143, 39)
pyautogui.click()
# 搜索微信
ClipboardText(wxid)
time.sleep(1)
# 进入聊天窗口
pyautogui.moveTo(155, 120)
pyautogui.click()
# 选择文件
pyautogui.moveTo(373, 570)
pyautogui.click()
ClipboardText(imgpath)
time.sleep(1)
pyautogui.moveTo(784, 509)
pyautogui.click()
# 发送
SendMsg()
print(‘已发送’)
# 关闭微信窗口
time.sleep(1)
pyautogui.moveTo(683, 16)
pyautogui.click()
#转发群里最新的一条消息
def ZhuanfaMsg(wxid,groupname):
# 先启动微信
FindWindow(‘微信’)
time.sleep(1)
# 定位到搜索框
pyautogui.moveTo(143, 39)
pyautogui.click()
# 搜索群
ClipboardText(groupname)
time.sleep(1)
# 进入群窗口
pyautogui.moveTo(155, 120)
pyautogui.click()
# 开始转发
pyautogui.moveTo(484, 439)
time.sleep(1)
pyautogui.rightClick()
pyautogui.moveTo(543, 454)
time.sleep(1)
pyautogui.click()
# 搜索用户
ClipboardText(wxid)
time.sleep(1)
pyautogui.moveTo(828, 406)
pyautogui.click()
time.sleep(1)
# 确定转发
pyautogui.moveTo(1108, 755)
pyautogui.click()
#发送文本消息(微信号或微信昵称或备注,需要发送的文本消息)
SendWxMsg(‘sansure2016’,‘Python发送微信消息’)
#发送文件消息(图片、文档、压缩包等)
SendWxFileMsg(‘sansure2016’,r"C:\Users\TANKING\Desktop\cbzqx77.jpg")
#转发群里最新的一条消息(微信号或微信昵称或备注,群名称)
ZhuanfaMsg(‘sansure2016’,‘里客云科技’)
零基础Python学习资源介绍
Python发送微信消息(文字、图片、文件)给指定好友和微信群,零基础可看懂(附源码和教程)相关推荐
- Python发送微信消息(文字、图片、文件)给指定好友和微信群(调用Win32 API模拟人的手动操作来发送消息)
本示例是调用Windows API模拟发送,用Python调用win32api这个库来调用Windows API模拟人的手动操作来发送消息. 在使用前,请将你微信的窗口设置为在最前面,这样就便于程序找 ...
- 微信跳转手机默认浏览器打开指定HTML链接 微信点击链接直接下载安装包实现方式及源码
需求:微信跳转手机默认浏览器打开指定HTML链接 微信点击链接直接下载安装包 原因:在微信内不允许直接下载apk 这里有一个解决方案,直接上关键代码 <!doctype html> < ...
- 【我写了个小软件,老板说要给我加薪】微信助手软件|微信个性化群发消息和图片|一键生成好友头像照片墙|附下载和使用方法
前言 各位朋友们好,许久不见!博客停更的三个月笔者其实也做了很多事,也有一些记录,只是一直没总结发博客.2023年我会努力在工作学习之余多多总结博客,与大家分享我的经验和心得. 在此恭祝大家新年快乐, ...
- 《自拍教程71》Python mediainfo批量重命名图片文件,AV专家必备!
案例故事: 大部分带彩色屏幕的终端设备,不管是手机,车机,电视等等,都需要涉及图片的显示, 作为一名专业的多媒体测试人员,我们需要一堆的规范化标准的的图片测试文件, 但是发现图片资源名字命名的很随意比 ...
- Python批量OCR日语文字图片并输出内容至文本文档~(调用百度OCRapi)
如题~对应文字游戏录屏制作字幕的第二模块 from aip import AipOcr import os import time''' Author: AleryXiao Date: 2022.10 ...
- [iOS]分享文件到QQ好友或微信好友
APP中需要将文件分享给QQ和微信好友,常用下面这两种方式. 1.使用系统的UIActivityViewController类发送 2.使用QQ和微信的API分享 UIActivityViewCont ...
- 微信上线朋友圈搜索可指定好友和时间段
昨天,微信上线了朋友圈搜索和文章搜索功能,其中新版微信朋友圈搜索可以指定好友和时间段.朋友圈指定好友的搜索操作方法为:搜索 → "朋友圈"入口 → 输入好友"昵称/微信号 ...
- python生成手写文字图片_使用生成对抗网络(GAN)生成手写字
先放结果 这是通过GAN迭代训练30W次,耗时3小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...
- html点击链接直接加微信群,微信给文字加链接代码分享(原来微信超链接是这样加的)...
相信大家都用过好多的表白神器,所以在这里小编就不给大家展示了,今天只和大家说一个也许大家还没有用过的在微信里的小功能! 超链接 超级链接简单来讲,就是指按内容链接. 超级链接在本质上属于一个网页的一部 ...
最新文章
- angular元素属性绑定_AngularJS语法基础及数据绑定——详解各种数据绑定指令、属性应用...
- php篮球比赛,篮球数据API接口 - 【篮球比赛动画直播变化数据】API调用示例代码...
- boost::proto::switch_相关的测试程序
- DCMTK:DSRDocumentTree,DSRDocumentSubTree,DSRDocumentTreeNode和DSRContentItem类的测试程序
- 使用dbms_stats.gather_table_stats调整表的统计信息
- 天津大学计算机专硕_「20考研」计算机考研专业课变动汇总
- 中国糖化酶行业市场供需与战略研究报告
- 三星530换固态硬盘_小米笔记本Air13.3加装固态硬盘(三星860EVO)
- android zip winrar,WinRAR Zip Unzip Archive
- 浅谈 JNIEnv 和 JavaVM
- Visual Studio无法定位于动态链接库
- VC2008+OpenCV2.3.1 的安装配置
- 哈佛大学各学院成立发展历史沿革介绍及整体评价
- 商帮文化数据:十大商帮文化代理变量(数据+代码)
- OSGB压缩算法有哪些?
- Python 淘宝系列(三): 模拟登陆成功后获取购物车信息
- Odoo与浪潮合资研发PS Cloud之如何在Odoo中进行搜索引擎优化(5)
- 详解ELF重定向原理
- 3.1【微信小程序全栈开发课程】在本地搭建后端开发环境
- Hp-socket高性能网络库二--tcp组件pull接收模型
热门文章
本示例是调用Windows API模拟发送,用Python调用win32api这个库来调用Windows API模拟人的手动操作来发送消息. 在使用前,请将你微信的窗口设置为在最前面,这样就便于程序找 ...
需求:微信跳转手机默认浏览器打开指定HTML链接 微信点击链接直接下载安装包 原因:在微信内不允许直接下载apk 这里有一个解决方案,直接上关键代码 <!doctype html> < ...
前言 各位朋友们好,许久不见!博客停更的三个月笔者其实也做了很多事,也有一些记录,只是一直没总结发博客.2023年我会努力在工作学习之余多多总结博客,与大家分享我的经验和心得. 在此恭祝大家新年快乐, ...
案例故事: 大部分带彩色屏幕的终端设备,不管是手机,车机,电视等等,都需要涉及图片的显示, 作为一名专业的多媒体测试人员,我们需要一堆的规范化标准的的图片测试文件, 但是发现图片资源名字命名的很随意比 ...
如题~对应文字游戏录屏制作字幕的第二模块 from aip import AipOcr import os import time''' Author: AleryXiao Date: 2022.10 ...
APP中需要将文件分享给QQ和微信好友,常用下面这两种方式. 1.使用系统的UIActivityViewController类发送 2.使用QQ和微信的API分享 UIActivityViewCont ...
昨天,微信上线了朋友圈搜索和文章搜索功能,其中新版微信朋友圈搜索可以指定好友和时间段.朋友圈指定好友的搜索操作方法为:搜索 → "朋友圈"入口 → 输入好友"昵称/微信号 ...
先放结果 这是通过GAN迭代训练30W次,耗时3小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...
相信大家都用过好多的表白神器,所以在这里小编就不给大家展示了,今天只和大家说一个也许大家还没有用过的在微信里的小功能! 超链接 超级链接简单来讲,就是指按内容链接. 超级链接在本质上属于一个网页的一部 ...