佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 使用 Python 實(shí)現(xiàn)微信消息的一鍵已讀的思路代碼

使用 Python 實(shí)現(xiàn)微信消息的一鍵已讀的思路代碼

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 智能手機(jī) 服務(wù)器配置 鐵路電話系統(tǒng) 網(wǎng)站文章發(fā)布 銀行業(yè)務(wù) 美圖手機(jī) 檢查注冊(cè)表項(xiàng)

關(guān)鍵詞
微信消息一鍵已讀 微信消息批量已讀 微信消息全部已讀
1、微信消息怎么批量已讀
2、微信消息可以一鍵已讀嗎
3、微信如何設(shè)置全部已讀

目前支持 windows 微信
下載后雙擊運(yùn)行即可

點(diǎn)擊下載微信消息一鍵已讀工具

1、實(shí)現(xiàn)思路

Step 1 > 獲取微信的句柄
Step 2 > 激活微信窗口
Step 3 > 移動(dòng)聊天窗口到最前
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:激活并顯示一個(gè)窗口。如果窗口被最小化或最大化,系統(tǒng)將其恢復(fù)到原來的尺寸和大小。應(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:在窗口原來的位置以原來的尺寸激活和顯示窗口。nCmdShow=5。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一個(gè)頂層窗口。nCmdShow=6。
SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然維持激活狀態(tài)。nCmdShow=7。
SW_SHOWNA:以窗口原來的狀態(tài)顯示窗口。激活窗口仍然維持激活狀態(tài)。nCmdShow=8。
SW_RESTORE:激活并顯示窗口。如果窗口最小化或最大化,則系統(tǒng)將窗口恢復(fù)到原來的尺寸和位置。在恢復(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_read
from tkinter import *
import win32gui
from time import sleep

root = 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)或者操作鍵盤')
    sleep(1)
    print('開始激活微信窗口')
    wechat_one_key_read.active_window(hwnd)
    print('微信窗口已經(jīng)激活,請(qǐng)勿移動(dòng)鼠標(biāo)或者操作鍵盤')
    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

相關(guān)參考 如何把代碼打包成 exe 可執(zhí)行程序

4、運(yùn)行效果


已讀完成

以上就是使用 Python 實(shí)現(xiàn)微信消息的一鍵已讀的詳細(xì)內(nèi)容,更多關(guān)于Python 微信一鍵已讀的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:
  • 用python發(fā)送微信消息
  • Python 實(shí)現(xiàn)還原已撤回的微信消息
  • 使用Python制作自動(dòng)推送微信消息提醒的備忘錄功能
  • Python字典循環(huán)添加一鍵多值的用法實(shí)例

標(biāo)簽:樂山 沈陽 長(zhǎng)治 河南 新疆 紅河 上海 滄州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用 Python 實(shí)現(xiàn)微信消息的一鍵已讀的思路代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    葵青区| 大荔县| 二连浩特市| 壤塘县| 肇庆市| 万安县| 张家口市| 唐山市| 镇安县| 奈曼旗| 保山市| 大兴区| 潍坊市| 庄浪县| 阳谷县| 江安县| 保亭| 庄河市| 宁波市| 五大连池市| 罗江县| 德州市| 冷水江市| 天水市| 淳化县| 许昌县| 开化县| 鸡泽县| 彝良县| 武汉市| 四平市| 大理市| 东源县| 如皋市| 花莲市| 乳山市| 海丰县| 尼木县| 甘德县| 商洛市| 冕宁县|