python利用pywin32模块自动化操作微信发消息

本文是利用python 操作电脑微信发消息,用到win32gui和win32api模块,以便以后忘记,做此纪录!

import win32gui
import win32api
import win32con
import time
import win32clipboard as w

def FindWindow(chatroom):
    win = win32gui.FindWindow(None, chatroom)
    if win != 0:
        win32gui.ShowWindow(win, win32con.SW_SHOWMINIMIZED)
        win32gui.ShowWindow(win, win32con.SW_SHOWNORMAL)
        win32gui.ShowWindow(win, win32con.SW_SHOW)
        win32gui.SetWindowPos(win, win32con.HWND_TOPMOST, 100, 100, 500, 500, win32con.SWP_SHOWWINDOW)#第二个参数是置顶,前两个数字是位置,后两个数字是大小,最后一个是显示
        win32gui.SetForegroundWindow(win)  # 获取控制
        time.sleep(0.5)
    else:
        print('找不到该窗口,请双击联系人,保证其是一个单独的窗口' % chatroom)
        # exit()
# def CloseWindow(chatroom):
#     win = win32gui.FindWindow(None, chatroom)
#     #print("找到关闭窗口:%x" % win)
#     time.sleep(3)
#     win32gui.ShowWindow(win, win32con.SW_SHOWMINIMIZED)
def setText(aString):
    w.OpenClipboard()
    w.EmptyClipboard()
    w.SetClipboardData(win32con.CF_UNICODETEXT, aString)
    w.CloseClipboard()
def zhanTie():
    win32api.keybd_event(17, 0, 0, 0)  # ctrl键位码是17
    win32api.keybd_event(86, 0, 0, 0)  # v键位码是86
    win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放按键
    win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
def huiche():
    win32api.keybd_event(18, 0, 0, 0)  # Alt键位码
    win32api.keybd_event(83, 0, 0, 0)  # s键位码
    win32api.keybd_event(18, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放按键
    win32api.keybd_event(83, 0, win32con.KEYEVENTF_KEYUP, 0)
def sendText(chatrooms,text):
    for chatroom in chatrooms:
        FindWindow(chatroom)
        setText(" "+text)
        zhanTie()
        huiche()
#方法1,利用剪切板发消息
# for i in range(20):
#     sendText(['好友昵称','好友昵称','好友昵称'],'哈哈哈')

#方法2,直接发消息,不需要复制粘贴
handle = win32gui.FindWindow(None, '好友昵称')
win32gui.SetForegroundWindow(handle)
st=[ord(s) for s in '中国']
for x in st:
    win32gui.PostMessage(handle,win32con.WM_CHAR,x,0)
    huiche()

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值