一、需求背景
每天早上取一批数据,数据文件经过压缩加密之后用邮箱发送,而解压密码通过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()

