一、需求背景
每天早上取一批数据,数据文件经过压缩加密之后用邮箱发送,而解压密码通过QQ发送给运营。使用Python进行取数、文件加密在已经实现的情况下,需要实现通过QQ发送密码的功能。
在进行一系列搜索之后,在网上找到了相关资料,了解到可以使用win32gui该功能。实现该功能的主要思路是:
1 使用win32clipboard将文本粘贴在剪贴板中;
2 使用win32gui.FindWindow找到对应的窗体;
3 使用win32gui.SendMessage发送消息
二、实现代码
import win32gui import win32con import win32clipboard as w class sendMsg(): def __init__ (self,receiver,msg): self.receiver = receiver self.msg = msg self.setText() # 设置剪贴版内容 def setText(self): w.OpenClipboard() w.EmptyClipboard() w.SetClipboardData(win32con.CF_UNICODETEXT, self.msg) w.CloseClipboard() # 发送消息 def sendmsg(self): qq = win32gui.FindWindow(None,self.receiver) win32gui.SendMessage(qq,win32con.WM_PASTE , 0, 0) # win32on 见site-packages\win32\lib\win32con.py,有的博文里出现的770对用的就是win32con.WM_PASTE win32gui.SendMessage(qq, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0) if __name__ == ' __main__ ' : receiver = ' 大兄弟 ' msg = " 测试 " qq = sendMsg(receiver,msg) qq.sendmsg()