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

 更新时间:2021年06月07日 11:38:32   作者:简简单单OnlineZuozuo  
利用python可以实现微信消息的一键已读功能,怎么实现呢?你肯定会想着很复杂,但是python的好处就是很多人已经把接口打包做好了,只需要调用即可,今天通过本文给大家分享使用 Python 实现微信消息的一键已读的思路代码,一起看看吧

关键词
微信消息一键已读 微信消息批量已读 微信消息全部已读
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 微信一键已读的资料请关注脚本之家其它相关文章!

相关文章

  • Python中的枚举函数enumerate()的具体用法

    Python中的枚举函数enumerate()的具体用法

    本文主要介绍了Python中的枚举函数enumerate()的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Python机器学习入门(二)之Python数据理解

    Python机器学习入门(二)之Python数据理解

    这篇文章主要介绍了Python机器学习入门知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • 利用python如何处理百万条数据(适用java新手)

    利用python如何处理百万条数据(适用java新手)

    这篇文章主要给大家介绍了关于利用python如何处理百万条数据的相关资料,本文的教程非常适用于java新手,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-06-06
  • python中ASCII码和字符的转换方法

    python中ASCII码和字符的转换方法

    今天小编就为大家分享一篇python中ASCII码和字符的转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 详解Python中for循环的使用

    详解Python中for循环的使用

    这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下
    2015-04-04
  • 浅谈python中的错误与异常

    浅谈python中的错误与异常

    写Python代码的小伙伴不可避免地会遇到代码执行错误和异常,这次就来详细的总结一下python中的错误和异常
    2021-06-06
  • python基于pexpect库自动获取日志信息

    python基于pexpect库自动获取日志信息

    这篇文章主要介绍了python基于pexpect库自动获取日志信息的方法,帮助大家更好的利用python高效办公,感兴趣的朋友可以了解下
    2021-02-02
  • Linux安装Python3如何和系统自带的Python2并存

    Linux安装Python3如何和系统自带的Python2并存

    这篇文章主要介绍了Linux安装Python3如何和系统自带的Python2并存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 使用Python在Excel中实现自动查找并替换数据

    使用Python在Excel中实现自动查找并替换数据

    随着项目的进展,需要经常在Excel业务表格中查找及替换数据,已保证数据与实际项目进度一致,手动一个一个查找,然后替换,效率太低,还容易遗漏,现在我们来试试用Python自动完成查找及替换吧,需要的朋友可以参考下
    2023-12-12
  • python调用Matplotlib绘制分布点并且添加标签

    python调用Matplotlib绘制分布点并且添加标签

    这篇文章主要为大家详细介绍了python调用Matplotlib绘制分布点并且添加标签的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05

最新评论