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、转发一篇图文
2021-09-02新增发送文件和转发群消息
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)