声明:https://zhuanlan.zhihu.com/p/29944988#! /usr/bin/env python
#coding=utf-8
#pywinauto自动化操作微信号
#by bugscaner  http://tools.bugscaner.com
import win32clipboard as wc
import win32con
from pywinauto.application import *
from PIL import ImageGrab
import time
def get_screenxy_from_bmp(main_bmp,son_bmp):#获取屏幕上匹配指定截图的坐标->(x,y,width,height)from PIL import Imageimg_main=Image.open(main_bmp)img_son=Image.open(son_bmp)datas_a=list(img_main.getdata())datas_b=list(img_son.getdata())for i,item in enumerate(datas_a):if datas_b[0]==item and datas_a[i+1]==datas_b[1]:yx=divmod(i,img_main.size[0])main_start_pos=yx[1]+yx[0]*img_main.size[0]match_test=Truefor n in range(img_son.size[1]):main_pos=main_start_pos+n*img_main.size[0]son_pos=n*img_son.size[0]if datas_b[son_pos:son_pos+img_son.size[0]] != datas_a[main_pos:main_pos+img_son.size[0]]:match_test=Falsebreakif match_test:return (yx[1],yx[0],img_son.size[0],img_son.size[1])return False
def getCopyText():wc.OpenClipboard()copy_text = wc.GetClipboardData(win32con.CF_TEXT)wc.CloseClipboard()return copy_text
oks = []
app = Application().start(r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe")
if not app.windows():app = Application().connect(path=r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe")
app.window_(title=u"微信",class_name="WeChatMainWndForPC").move_window(0,0)
nb = 0
while 1:if nb > 140:breakelse:nb = nb + 1app.window_(title=u"微信",class_name="WeChatMainWndForPC").TypeKeys("{DOWN}")time.sleep(.5)pic = ImageGrab.grab((0,0,623,454))pic.save('1.bmp')ok = get_screenxy_from_bmp(u'1.bmp',u'weixin.bmp')#选中app.window_(title=u"微信",class_name="WeChatMainWndForPC").double_click_input(coords=(ok[0]+100,ok[1]+10))#拷贝app.window_(title=u"微信",class_name="WeChatMainWndForPC").TypeKeys("^c")app.window_(title=u"微信",class_name="WeChatMainWndForPC").click_input(coords=(208,477))weixin =  getCopyText()if weixin not in oks:print weixinoks.append(weixin)f = open("weixin.txt","a")f.write(weixin+"\n")f.close()else:print u"失败一个"

其中的weixin.bmp为截图的微信字体

---------------------------------------分割线2017年11月-------------------------------------

根据以上思路,已实现自动发送微信消息,但是不方便公开,大家可以尝试一下,想想思路。

转载于:https://www.cnblogs.com/tianrunzhi/p/7799823.html

Pywinauto自动化操作PC微信提取好友微信号相关推荐

  1. 微信支持修改微信号了,附上修改教程及工具

    今天微信发布 7.0.15 正式版,加入多个新功能,很实用!其实除了这些功能之外,这次更新后微信还有一个变化,那就是修改微信号.我们知道,这么多年微信都不能修改微信号,那是因为之前在设置微信号时界面提 ...

  2. 微信可以改微信号了,你要改吗?

    前几天还看到有消息传出来,微信可以修改微信号了,当时还去试了试,发现并不能. 今天又看到这个信息了,于是拿起手机试了试,真的可以了. 首先打来微信,检查更新. 正好有提示可以更新. 下边截图是更新后的 ...

  3. 微信如何导出微信联系人?微信导出所有好友微信号

    微信被封了如何导出好友的微信号用另一个微信加回来?员工荔枝私人微信如何导出联系人给另一个微信号添加? 经常被问到这两个问题,今天给大家介绍下怎么导出微信所有好友的信息做备份.今天分享的方法可以导出所有 ...

  4. 微信二次修改微信号_微信支持修改微信号了!功能正式上线,附详细教程

    前几天安卓版微信发布了 v7.0.15 版本更新,其中就出现了修改微信号的入口,今天,该功能正式上线了! 今天中午,微信团队发微博表示安卓最新版微信正式上线了修改微信号功能. 消息才发布不久,#微信已 ...

  5. 什么?你竟然还不知道微信可以修改微信号了?

    在最近几个小时中,微信上线了7.0.15,这个版本在手机自测升级中检测不到,可以在手机的应用商店进行更新下载(我是小米的手机,应用商店是有7.0.15版本的) 接下来我将为大家介绍下如何修改微信号吧. ...

  6. 微信支持修改微信号了,我不想为当年的冲动买单了

    前段时间,微信安卓版更新到7.0.15,就有修改微信号的方法,但是据网友反映会有封号的风险,今天,微信官方正式宣布支持修改微信号. 我赶紧翻了一下好友列表里面的 ID,从中也发现了不少秘密.有些甚至是 ...

  7. python自动操作微信_微信全智能机器人测试,Python代码实现自动化操作,玩转智能应答...

    原标题:微信全智能机器人测试,Python代码实现自动化操作,玩转智能应答 本文为微信智能回复相关python项目,通过模拟网页端微信接口,实现跟好友之间自动的回复,并接入了图灵智能库,进行相应的内容 ...

  8. 用 Python + Appium 的方式自动化清理微信僵尸好友

    文 | 某某白米饭 来源:Python 技术「ID: pythonall」 随着微信的使用时间越长,微信好友也越来越多,有些好友将你删除了你也不知道.当我们发消息的时候会出现下面扎心的一幕,然后默默将 ...

  9. 强大!Python 自动化清理微信僵尸好友

    文 | 某某白米饭 来源 | Python 技术 自从 微信网页版 被限制登陆之后wxpy库就基本没啥用了,但是还是有很多同学想学微信自动化,其实有些功能是可以用其他自动化库代替的,今天就给大家介绍一 ...

最新文章

  1. 如何面对自己不喜欢的工作?
  2. 一个Web页面的问题分析
  3. 如何更好的利用Node.js的性能极限
  4. 将Java程序作成exe文件的几种方法【转载】
  5. android enum 内存,Android 中的 Enum 到底占多少内存?该如何用?
  6. shell 执行mysql语句
  7. springboot实践1
  8. 选择日期保存报错Invalid JSON input: Cannot deserialize value of type `java.util.Date` from String......
  9. python 安装中的错误解决
  10. 程序员接私活平台_程序员去哪儿接私活?我系统总结了15个国内平台,绝对靠谱...
  11. mysql 建立索引更慢_如何运用“提前发布,经常发布”来建立更好的品牌
  12. GP学习(十)-Mosaic raster datasets to a file raster format
  13. 结合了人工客服和AI的Fin,可能是Siri最大的竞争对手
  14. django pdf转html5,python – 在Django站点中将HTML转换为PDF
  15. torch.index_select与torch.gather
  16. [转载] 深入理解log机制
  17. oracle数据库connectionstring,oracle数据库 connectionstring
  18. 2022-渗透测试-口令破解-几款暴力破解和字典生成的工具
  19. MATLAB——tiff文件数据读取,modis
  20. 深度强化学习算法研究中的常用对比试验及作图技巧

热门文章

  1. 水平集群和垂直集群的区别!
  2. WCF扩展:行为扩展Behavior Extension一
  3. LBWE 和SBIW的关系
  4. Ubuntu使用技巧和注意点
  5. Java 集合中的方法性能分析
  6. ExtJS2.0实用简明教程 - Column列布局
  7. 新手福利:免费百页机器学习入门书
  8. xmake 新增对 Qt 编译环境支持,用自己最喜爱的编辑器去开发 Qt 程序
  9. asp.net mvc4 配置数据库连接的相关问题
  10. 2012年12月工作总结