日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

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

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

 

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

 

動圖演示

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)
    # 定位到搜索框
    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:UsersTANKINGDesktopcbzqx77.jpg")
 
# 轉發群里最新的一條消息(微信號或微信昵稱或備注,群名稱)
ZhuanfaMsg('sansure2016','里客云科技')

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定