#!/usr/bin/env python # encoding: utf-8 import time # 安装命令 pip install pywin32 import win32api #调用windows API的模块库 import win32gui # 这个模块内定义了一些有关图形操作的API 作用:调用窗口用 import win32con # 模块内定义了windows API的宏 消息类型 import win32clipboard as winform # 实现读剪贴 # 像QQ发送消息 def windows_QQ_message(nikename, messasge, sleepTime=0.5): ''' 通过控制Windows窗口,模拟enter按键发送消息(QQ发送消息有二种方式Enter/Ctrl+Enter,本次案例使用Enter) :param str nikename: QQ好友备注名称 :param str messasge: 要发送的消息内容 :param sleepTime: 每条消息的间隔时间,默认0.5秒 :return: ''' # 将测试消息复制到剪切板中 winform.OpenClipboard() #打开剪贴版 winform.EmptyClipboard() #清空剪贴版 # 尝试将剪切板内容读取为Unicode文本 winform.SetClipboardData(win32con.CF_UNICODETEXT, messasge) #设置面板属性 winform.CloseClipboard() #关闭剪贴版 # 获取窗口句柄 handle = win32gui.FindWindow(None, nikename) # QQ # 填充消息 win32gui.SendMessage(handle, 770, 0, 0) # 回车发送消息 win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0) time.sleep(sleepTime) # 延时发送 # 向微信发送消息 def windows_weChat_message(nickname, message, sleepTime=0.5): handle = win32gui.FindWindow(None, nickname) #获取窗口句柄 获得操作对象(好友备注名称) win32gui.SetForegroundWindow(handle) # 激活窗口,键盘输入将转向该窗口 st = [ord(s) for s in message] #将信息遍历 并转码(转为十进制数据) for x in st: win32gui.PostMessage(handle, win32con.WM_CHAR, x, 0) #填入信息 # 模拟键盘输出 win32api.keybd_event(13, 0, 0, 0) # 回车键 win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0) # 释放回车键 time.sleep(sleepTime) # a = ord('笑') # print(a) #转为十进制数据 ''' keybd_event模拟键盘输入:https://blog.csdn.net/qq_29360495/article/details/53006082 '''