最近在工作中接到一个需求,需要在每天早上取一批数据,数据文件经过压缩加密之后用邮箱发送,而解压密码通过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)
win32gui.SendMessage(qq, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
if __name__ == '__main__':
receiver='大兄弟'
msg="测试"
qq=sendMsg(receiver,msg)
qq.sendmsg()