新闻动态

使用 Python 实现微信消息的一键已读的思路代码

发布日期:2022-03-16 10:57 | 文章来源:源码之家

关键词
微信消息一键已读 微信消息批量已读 微信消息全部已读
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、运行效果


已读完成

以上就是使用 Python 实现微信消息的一键已读的详细内容,更多关于Python 微信一键已读的资料请关注本站其它相关文章!

国外服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部