关键词
微信消息一键已读 微信消息批量已读 微信消息全部已读
1、微信消息怎么批量已读
2、微信消息可以一键已读吗
3、微信如何设置全部已读
目前支持 windows 微信
下载后双击运行即可
点击下载微信消息一键已读工具
1、实现思路
Step 1 >
获取微信的句柄
Step 2 >
激活微信窗口
Step 3 >
移动聊天窗口到最前
Step 4 >
模拟快捷键阅读消息
Step 5 >
2、安装依赖
所需依赖
import win32gui import win32con import win32api import pyautogui from time import sleep from tkinter import *
3.编写代码
支持代码
\"\"\" 微信消息一键已读 \"\"\" import win32gui import win32con import win32api import pyautogui from 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:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。nCmdShow=1。 SW_SHOWMINIMIZED:激活窗口并将其最小化。nCmdShow=2。 SW_SHOWMAXIMIZED:激活窗口并将其最大化。nCmdShow=3。 SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。nCmdShow=4。 SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。nCmdShow=5。 SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。nCmdShow=6。 SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然维持激活状态。nCmdShow=7。 SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。nCmdShow=8。 SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。nCmdShow=9。 \'\'\' def max_min_windows(hwnd): \"\"\" 如果已经最大化,就最小化,否则反之 :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): # 获取窗口的坐标 left, top, right, bottom = win32gui.GetWindowRect(hwnd) pyautogui.moveTo(left + 170, top + 100) pyautogui.click(left + 170, top + 100, button=\'left\') # 滚轮滚动到最顶端 [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\') # 显示到正常状态 def active_window(hwnd): win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE) win32gui.SetActiveWindow(hwnd) win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
应用程序代码
from windows_api.wechat import wechat_one_key_read from tkinter import * import win32gui from time import sleep root = Tk() # 标题 root.title(\'wx\') # 窗口大小 root.geometry(\'200x50+300+300\') def read(): hwnd = win32gui.FindWindow(\'WeChatMainWndForPC\', \"微信\") if hwnd == 0: [print(\'微信未启动,请启动微信再试\') for i in range(5)] return print(\'请勿移动鼠标或者操作键盘\') sleep(1) print(\'开始激活微信窗口\') wechat_one_key_read.active_window(hwnd) print(\'微信窗口已经激活,请勿移动鼠标或者操作键盘\') print(\'开始阅读消息\') 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
相关参考 如何把代码打包成 exe 可执行程序
4、运行效果
已读完成