关键词微信消息一键已读 微信消息批量已读 微信消息全部已读
1、微信消息怎么批量已读
2、微信消息可以一键已读吗
3、微信如何设置全部已读
目前支持 windows 微信
点击下载微信消息一键已读工具
1、实现思路
Step 1 >
获取微信的句柄Step 2 >
激活微信窗口Step 3 >
移动聊天窗口到最前Step 4 >
模拟快捷键阅读消息Step 5 >
2、安装依赖
所需依赖
1
2
3
4
5
6
|
import win32gui
import win32con
import win32api
import pyautogui
from time import sleep
from tkinter import *
|
3.编写代码
支持代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
"""
微信消息一键已读
"""
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)
|
应用程序代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
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 微信一键已读的资料请关注服务器之家其它相关文章!
原文链接:https://blog.csdn.net/qq_15071263/article/details/117565453