การส่งข้อความกลุ่ม WeChat, ไคลเอนต์ระบบ Windows (ไคลเอนต์พีซี
gui
ใช้ pyside6
WeChat
คือ uiautomation
หน้าหลัก
เกี่ยวกับเพจ
ปุ่มลัดเพื่อปลุก WeChat
จะถูกเปลี่ยนเป็นระดับระบบ Windows
เพื่อปลุกหน้าต่าง WeChat
def __wake_up_window ():
"""唤醒微信窗口"""
hwnd = win32gui . FindWindow ( 'WeChatMainWndForPC' , '微信' )
# 展示窗口
win32gui . SetForegroundWindow ( hwnd )
win32gui . ShowWindow ( hwnd , win32con . SW_SHOWDEFAULT )
ปรับปรุงความสามารถในการรับชื่อเล่นของแผงปัจจุบันสำหรับการจับคู่เมื่อไม่มีชื่อเล่นที่ตรงกันของเพื่อน 100%
# 获取到真实的昵称(获取当前面板的备注名称), 有时候输入不全, 可以搜索到,但输入内容时候会报错
def __get_current_panel_nickname ( self ) -> str :
"""获取当前面板的好友昵称"""
for idx in range ( 1 , 10 ):
current_panel_nickname = self . wx_window . TextControl ( foundIndex = idx ). Name
if current_panel_nickname :
return current_panel_nickname
เมื่อส่งข้อความ หากชื่อเล่นของเพื่อนในแผงปัจจุบันเหมือนกับชื่อเล่นของเพื่อนที่จะส่ง ไม่จำเป็นต้องค้นหาอีกครั้งเพื่อข้ามไปยังแผงเพื่อน
if self . __get_current_panel_nickname () != name :
self . __goto_chat_box ( name = name )
เมื่อเครื่องมือเริ่มทำงาน ทั้ง WeChat
และเครื่องมือจะอยู่ด้านบน และ WeChat
จะถูกย่อให้เล็กสุดเมื่อปิดเครื่องมือ
keyboard
แล้วกดปุ่มทางลัด Ctrl+Alt+Q
เพื่อซ่อนหรือแสดงเครื่องมือ import keyboard
keyboard . add_hotkey ( 'Ctrl+Alt+Q' , window . restore_from_tray )
Esc
และ Ctrl+Alt+Q
เพื่อย่อขนาดแถบงานได้ def listen_keyboard ( self ):
# 键盘监听
shortcut = QShortcut ( QKeySequence ( "Esc" ), self )
# 当按下 Esc 键时隐藏窗口
shortcut . activated . connect ( self . restore_from_tray )
psutil
import psutil
def get_specific_process ( proc_name : str = 'WeChat.exe' ) -> bool :
"""获取指定进程是否存在"""
return any ( proc . name () == proc_name for proc in psutil . process_iter ( attrs = [ 'name' ]))
pip install -r requirements.txt
pyinstaller -F -w --icon=resources/icon/icon.ico main.py
อย่าทำชั่ว อย่าทำชั่ว อย่าทำชั่ว! - - (แต่ดูเหมือนว่าเขาไม่สามารถทำอะไรไม่ดีได้
GUI
ใหม่ในวาระการประชุม-2024-03-18 ThreadPool
แบบมัลติเธรด + QRunnable
เครื่องมือจะไม่ค้าง GUI
ใหม่ MVC架构
ปัจจุบันไม่สมเหตุสมผลเพียงพอ เรียกใช้ main.py โดยตรง
รหัสสำหรับใช้งาน WeChat
ในฟังก์ชัน send_msg ไม่ว่าคุณจะส่งข้อความเดียวหรือหลายข้อความ คุณจะต้องส่งผ่านวัตถุที่สามารถทำซ้ำได้ (เช่น: list(), tuple()...
คุณสามารถส่ง ข้อความ และ ไฟล์ พร้อมกันได้ แต่ไม่ใช่ทั้งสองอย่างพร้อมกัน! ส่งอย่างน้อยหนึ่งรายการ
# 实例化WxOperation类
wx = WxOperation ()
# 发送文本
wx . send_msg ( '好友名称' , msgs = [ 'hello' , 'world' ])
# 发送文件
wx . send_msg ( '好友名称' , file_paths = [ 'README.md' , 'wx_operation.py' ])
# 发送文本和文件
wx . send_msg ( '好友名称' , msgs = [ 'hello' , 'world' ], file_paths = [ 'README.md' , 'wx_operation.py' ])
# 批量发送
wx . send_msg ( * [ '好友1' , '好友2' ...], msgs = [ 'hello' , 'world' ], file_paths = [ 'README.md' , 'wx_operation.py' ])
# 获取微信好友
wx . get_friend_list () # 获取全部好友
wx . get_friend_list ( tag = '你的标签' ) # 获取指定标签好友
ที่เหลือให้ไปดูโค้ดด้วยตัวเอง มีโค้ดไม่ถึง 100 บรรทัด ไม่รวมความคิดเห็น
ช่วยเราจัดการกับความน่าเบื่อของการส่งข้อความกลุ่มและปล่อยมือของเรา ( ข้อจำกัดความรับผิดชอบ รหัสนี้มีไว้สำหรับการเรียนรู้เท่านั้น โปรดอย่าใช้เพื่อวัตถุประสงค์ทางการค้าหลังจากดาวน์โหลด)