微信自动发送消息

利用Python调用win32库操作微信窗口句柄定时发送消息

首先,定时发送消息,一般发送内容主要包括文本、表格和图像。因此本文主要讲解文本、表格和图像发送

文本的发送

发送文本,主要是将文字内容存入内存中,然后操作窗口句柄将内存中文字粘贴到对应窗口中,最后再利用键位操作将内容发送出去:
关键代码如下:

def ctrlV():
    win32api.keybd_event(17, 0, 0, 0)
    win32api.keybd_event(86, 0, 0, 0) 
    win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)
    win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)


def altS():
    win32api.keybd_event(18, 0, 0, 0) 
    win32api.keybd_event(83, 0, 0, 0) 
    win32api.keybd_event(18, 0, win32con.KEYEVENTF_KEYUP, 0)
    win32api.keybd_event(83, 0, win32con.KEYEVENTF_KEYUP, 0)

表格的发送

表格的内容发送主要是将excel数据进行处理后,将要发送的内容进行复制到内存中,最后也是通过键位将要发送的数据发出去。关键代码如下:


```python
def excel_catch_screen():
    excel = DispatchEx("Excel.Application") 
    excel.Visible = True
    excel.DisplayAlerts = False
    wb = excel.Workbooks.Open(path)
    ws = wb.Sheets("Sheet1")
    ws.Range("A1:L10").CopyPicture() 
    ws.Paste()
    name = str(uuid.uuid4())
    new_shape_name = name[:6]
    excel.Selection.ShapeRange.Name = new_shape_name 
    ws.Shapes(new_shape_name).Copy()
    ImageGrab.grabclipboard()
    wb.Close(SaveChanges=0)
    excel.Quit()

图片的发送


图片的发送首先要将图片复制到内存,然后再将图片粘贴到句柄窗口中,其关键代码如下所示:

```python
def paste_img(file_img):
    image = Image.open(file_img)
    output = BytesIO()
    image.save(output, 'BMP')
    data = output.getvalue()[14:]
    output.close()
    setImage(data)

def setImage(data): 
    w.OpenClipboard()
    w.EmptyClipboard()
    w.SetClipboardData(win32con.CF_DIB, data)
    w.CloseClipboard()

通过以上三步,就可以将想要发送的文本、表格和图片发送到对应的微信窗口句柄定。其发送结果如下所示:
在这里插入图片描述

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值