使用 Python 實(shí)現(xiàn)微信消息的一鍵已讀的思路代碼
關(guān)鍵詞微信消息一鍵已讀 微信消息批量已讀 微信消息全部已讀1、微信消息怎么批量已讀2、微信消息可以一鍵已讀嗎3、微信如何設(shè)置全部已讀
目前支持 windows 微信下載后雙擊運(yùn)行即可
點(diǎn)擊下載微信消息一鍵已讀工具
Step 1 > 獲取微信的句柄Step 2 > 激活微信窗口Step 3 > 移動(dòng)聊天窗口到最前Step 4 > 模擬快捷鍵閱讀消息Step 5 >
2、安裝依賴所需依賴
import win32guiimport win32conimport win32apiimport pyautoguifrom time import sleepfrom tkinter import *3.編寫(xiě)代碼
支持代碼
'''微信消息一鍵已讀'''import win32guiimport win32conimport win32apiimport pyautoguifrom time import sleep’’’hwnd = win32gui.FindWindow(lpClassName=None, lpWindowName=None) # 查找窗口,不找子窗口,返回值為0表示未找到窗口hwnd = win32gui.FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=None) # 查找子窗口,返回值為0表示未找到子窗口win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)SW_HIDE:隱藏窗口并激活其他窗口。nCmdShow=0。SW_SHOWNORMAL:激活并顯示一個(gè)窗口。如果窗口被最小化或最大化,系統(tǒng)將其恢復(fù)到原來(lái)的尺寸和大小。應(yīng)用程序在第一次顯示窗口的時(shí)候應(yīng)該指定此標(biāo)志。nCmdShow=1。SW_SHOWMINIMIZED:激活窗口并將其最小化。nCmdShow=2。SW_SHOWMAXIMIZED:激活窗口并將其最大化。nCmdShow=3。SW_SHOWNOACTIVATE:以窗口最近一次的大小和狀態(tài)顯示窗口。激活窗口仍然維持激活狀態(tài)。nCmdShow=4。SW_SHOW:在窗口原來(lái)的位置以原來(lái)的尺寸激活和顯示窗口。nCmdShow=5。SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一個(gè)頂層窗口。nCmdShow=6。SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然維持激活狀態(tài)。nCmdShow=7。SW_SHOWNA:以窗口原來(lái)的狀態(tài)顯示窗口。激活窗口仍然維持激活狀態(tài)。nCmdShow=8。SW_RESTORE:激活并顯示窗口。如果窗口最小化或最大化,則系統(tǒng)將窗口恢復(fù)到原來(lái)的尺寸和位置。在恢復(fù)最小化窗口時(shí),應(yīng)用程序應(yīng)該指定這個(gè)標(biāo)志。nCmdShow=9。’’’def max_min_windows(hwnd): ''' 如果已經(jīng)最大化,就最小化,否則反之 :param hwnd: 窗口句柄 ''' if win32gui.IsIconic(hwnd):win32gui.ShowWindow(hwnd, win32con.SW_SHOWMAXIMIZED) else:win32gui.ShowWindow(hwnd, win32con.SW_SHOWMINIMIZED)def up(): pyautogui.press(’up’) sleep(0.01)def down(): pyautogui.press(’down’) sleep(0.01)def read_msg(hwnd): # 獲取窗口的坐標(biāo) left, top, right, bottom = win32gui.GetWindowRect(hwnd) pyautogui.moveTo(left + 170, top + 100) pyautogui.click(left + 170, top + 100, button=’left’) # 滾輪滾動(dòng)到最頂端 [pyautogui.scroll(1000) for i in range(15)] pyautogui.click(left + 170, top + 100, button=’left’) # 模擬讀消息按鍵 [up() for i in range(5)] [down() for i in range(20)] # 回到最頂端 [pyautogui.scroll(1000) for i in range(15)] # 回到頂端聊天窗口 pyautogui.click(left + 170, top + 100, button=’left’)# 顯示到正常狀態(tài)def active_window(hwnd): win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE) win32gui.SetActiveWindow(hwnd) win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
應(yīng)用程序代碼
from windows_api.wechat import wechat_one_key_readfrom tkinter import *import win32guifrom time import sleeproot = Tk()# 標(biāo)題root.title(’wx’)# 窗口大小root.geometry(’200x50+300+300’)def read(): hwnd = win32gui.FindWindow(’WeChatMainWndForPC’, '微信') if hwnd == 0:[print(’微信未啟動(dòng),請(qǐng)啟動(dòng)微信再試’) for i in range(5)]return print(’請(qǐng)勿移動(dòng)鼠標(biāo)或者操作鍵盤(pán)’) sleep(1) print(’開(kāi)始激活微信窗口’) wechat_one_key_read.active_window(hwnd) print(’微信窗口已經(jīng)激活,請(qǐng)勿移動(dòng)鼠標(biāo)或者操作鍵盤(pán)’) print(’開(kāi)始閱讀消息’) wechat_one_key_read.read_msg(hwnd) print(’消息閱讀完成’)t = Entry(root)b = Button(root, text=’一鍵已讀’, command=read)b.pack()root.mainloop()if __name__ == ’__main__’: pass
相關(guān)參考 如何把代碼打包成 exe 可執(zhí)行程序
4、運(yùn)行效果已讀完成
相關(guān)文章:
1. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)2. 如何在jsp界面中插入圖片3. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析4. PHP循環(huán)與分支知識(shí)點(diǎn)梳理5. XML基本概念XPath、XSLT與XQuery函數(shù)介紹6. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過(guò)程7. jsp實(shí)現(xiàn)登錄界面8. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案9. ASP.NET泛型三之使用協(xié)變和逆變實(shí)現(xiàn)類型轉(zhuǎn)換10. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))
