使用python发送qq消息
2016-10-26 14:54
671 查看
以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理。也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了。今天偶然看到一篇文章,是用python调用win32的接口发送qq消息的,觉得不错,就先记录下来,日后肯定会用得上这些小工具。
发送qq消息要求已经登陆qq,而且qq的窗口是独立的,现在新版的qq一般都是将所有的聊天窗口聚合在一起,因此要设置将qq窗口分离,或者将需要发送消息的那个窗口单独分离出来。
上代码吧。
模拟按键
python可以通过win32和windows做各种交互,网上还有一篇文章是批量操作文件的例子,其原理和按键精灵差不多。只是好多参数不懂。就好比上面的发送qq消息的例子,本来想改改其中的方法,跳过剪贴板这一步,可是怎么改都不行,以后再试试。
http://blog.csdn.net/seele52/article/details/17504925
http://lixxu.iteye.com/blog/417218
http://www.codeweblog.com/%E7%94%A8pywin32%E5%AE%9E%E7%8E%B0windows%E6%A8%A1%E6%8B%9F%E9%BC%A0%E6%A0%87%E5%8F%8A%E9%94%AE%E7%9B%98%E5%8A%A8%E4%BD%9C/
发送qq消息要求已经登陆qq,而且qq的窗口是独立的,现在新版的qq一般都是将所有的聊天窗口聚合在一起,因此要设置将qq窗口分离,或者将需要发送消息的那个窗口单独分离出来。
上代码吧。
# 原理是先将需要发送的文本放到剪贴板中,然后将剪贴板内容发送到qq窗口 # 之后模拟按键发送enter键发送消息 import win32gui import win32con import win32clipboard as w def getText(): """获取剪贴板文本""" w.OpenClipboard() d = w.GetClipboardData(win32con.CF_UNICODETEXT) w.CloseClipboard() return d def setText(aString): """设置剪贴板文本""" w.OpenClipboard() w.EmptyClipboard() w.SetClipboardData(win32con.CF_UNICODETEXT, aString) w.CloseClipboard() def send_qq(to_who, msg): """发送qq消息 to_who:qq消息接收人 msg:需要发送的消息 """ # 将消息写到剪贴板 setText(msg) # 获取qq窗口句柄 qq = win32gui.FindWindow(None, to_who) # 投递剪贴板消息到QQ窗体 win32gui.SendMessage(qq, 258, 22, 2080193) win32gui.SendMessage(qq, 770, 0, 0) # 模拟按下回车键 win32gui.SendMessage(qq, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0) win32gui.SendMessage(qq, win32con.WM_KEYUP, win32con.VK_RETURN, 0) # 测试 to_who='xxx' msg='这是测试消息' send_qq(to_who, msg)
模拟按键
python可以通过win32和windows做各种交互,网上还有一篇文章是批量操作文件的例子,其原理和按键精灵差不多。只是好多参数不懂。就好比上面的发送qq消息的例子,本来想改改其中的方法,跳过剪贴板这一步,可是怎么改都不行,以后再试试。
参考:
http://blog.csdn.net/dahuae/article/details/43969175http://blog.csdn.net/seele52/article/details/17504925
http://lixxu.iteye.com/blog/417218
http://www.codeweblog.com/%E7%94%A8pywin32%E5%AE%9E%E7%8E%B0windows%E6%A8%A1%E6%8B%9F%E9%BC%A0%E6%A0%87%E5%8F%8A%E9%94%AE%E7%9B%98%E5%8A%A8%E4%BD%9C/
相关文章推荐
- 利用webqq协议使用python登录qq发消息源码参考
- python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)
- 在python中使用itchat发送微信消息
- python使用smtplib库和smtp.qq.com邮件服务器发送邮件
- 使用python发送QQ邮件
- 在python中使用itchat发送微信消息
- 使用python发送QQ邮件
- 利用webqq协议使用python登录qq发消息源码参考
- python,UPD,socket(一) 使用udp 发送消息
- 使用python中的smtplib库,写一个简单的发送qq邮件程序,速成!!
- 利用webqq协议使用python登录qq发消息
- python使用qq服务器发送邮件
- python使用qq服务器发送邮件
- python使用SMTP发送qq或sina邮件
- 【Python】 使用QQ邮件服务器发送邮件
- Django-Python Django 使用 QQ / 新浪邮箱发送邮件配置
- Python练习之-----使用第三方 SMTP 服务发送(QQ)
- 使用Python创建自定义机器人向群组人员发送消息
- python:使用udp协议发送飞秋消息
- 使用Python的Zato发送AMQP消息的教程