tft每日頭條

 > 科技

 > python操作微信發消息

python操作微信發消息

科技 更新时间:2024-11-11 20:44:35

本示例是調用Windows API模拟發送,用Python調用win32api這個庫來調用Windows API模拟人的手動操作來發送消息。在使用前,請将你微信的窗口設置為在最前面,這樣就便于程序找到你的窗口!

私信小編01即可獲取大量Python學習資源

python操作微信發消息(Python發送微信消息文字)1

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發送微信消息')

動圖演示

python操作微信發消息(Python發送微信消息文字)2

​經過學習,我在想要不要用這個方法實現一套簡單的微信操作腳本,然後寫成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) # 定位到搜索框 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','裡客雲科技')

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved