WeChat mass msg
原始版本
WeChat 그룹 메시징, Windows 시스템 클라이언트(PC 클라이언트
gui
pyside6
사용합니다WeChat
운영 모듈은 uiautomation
입니다. 메인 페이지
페이지 소개
WeChat
깨우기 단축키가 Windows
시스템 수준으로 변경되어 위챗 창을 깨울 수 있게 되었습니다.
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줄도 안 되는 코드입니다.
그룹 메시징의 지루함을 처리하고 손을 자유롭게 할 수 있도록 도와주세요. ( 면책조항 , 이 코드는 학습용이므로 다운로드 후 상업적 목적으로 사용하지 마십시오.)