Python 操控微信客户端给指定联系人发送消息

该博客介绍了一个Python脚本,通过psutil、pywinauto等库自动检测并连接到微信进程,然后使用快捷键操作模拟用户行为,向指定联系人发送消息。此脚本适用于自动化发送信息的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 根据代码示例import使用pip下载对应的依赖库。

2. 代码示例,看注释,有问题留言沟通。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 引入相关依赖
import psutil
from pywinauto.application import Application
import pyperclip
import io
import sys
import time
import pyautogui

pyautogui.FAILSAFE=False # 关闭自动保护机制

#改变标准输出的默认编码
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')

# 根据进程名获取到对应的id ,用于连接 
def get_pid(processName):
    for proc in psutil.process_iter():
        try:
            if(proc.name() == processName):
                return proc.pid
        except psutil.NoSuchProcess:
            pass
    return -1


# 发送对应的消息给指定的联系人
def sendInfo(info=u'你好吃饭了吗?',friend=u'文件传输助手'):
    if(info is None):
        print("************ 任务终止,传入的信息为空 ******************")
        return
    # 获取到程序进程 PID
    procId=get_pid("WeChat.exe")

    if(procId == -1):
        print("WeChat.exe  is not running")

    # 连接到对应的app
    app = Application(backend='uia').connect(process=procId)

    # 获取到微信实例
    main_Dialog = app.window_(title=u"微信",class_name="WeChatMainWndForPC")
    
    # 打开微信窗口
    pyautogui.hotkey('ctrl', 'alt', 'w')
    
    # 弹出窗口,防止快捷键打开失败
    main_Dialog.restore()


    # 打开指定的用户消息框
    main_Dialog.type_keys('^f')
    pyperclip.copy(friend)
    main_Dialog.type_keys('^v')
    # 休息0.5秒
    time.sleep(0.5)
    # 打开指定用户的发消息页面
    main_Dialog.type_keys('{ENTER}') 

    # 发送消息
    print("********* 发送消息 ****************")
    inputMsg=main_Dialog.child_window(title="输入",control_type="Edit")
    inputMsg.click_input()
    pyperclip.copy(info)
    inputMsg.type_keys('^v')

    # 休息0.5秒,点击发送
    time.sleep(0.5)
    main_Dialog.type_keys('{ENTER}') 


# 触发
sendInfo()


微笑的java

欢迎关注转发评论点赞沟通,让编码不在孤单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果核 JAVA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值