Python截屏发邮件进而实现远程控制

项目终于上线了,虽然只是上了个平台。可是总比没上的要好是吧,毕竟也算是取得阶段性的胜利有木有。

因为一直要呆在银行,可是还要有论文要写,数据要跑,就想着用TeamViewer连接实验室电脑,毕竟实验室电脑性能比较给力。但是有一个不好的地方就是TeamViewer每次连接都需要密码,而我人又不在,因此就萌生了写个脚本的想法。

这个脚本的目的就是为了获取实验室TeamViewer上的密码,实现远程连接电脑的功能。怎么获取呢?自然是利用截屏外加发邮件啦~~~

有了思路,就好办了。首先,要保证TeamViewer程序能够运行,这个开机自启就能解决。其次,需要能够在桌面展示TeamViewer程序的运行界面(为了截图啊),最后就是将截图发送至邮箱了。

关于展示运行界面,可以使用模拟点击登陆,需要用的模块是pymouse和pykeyboard,在python3中这两个模块已经整合到PyUserInput模块内了,因此需要导入PyUserInput模块,具体的信息可以查看GitHub相关介绍:https://github.com/PyUserInput/PyUserInput.

你以为直接一个pip install PyUserInput就能搞定?图样图森破,安装之前还需要安装pywin32和pyHook,这俩是可以直接用pip进行安装的,但是,但是!我还是没有安装成功,只好去

https://www.lfd.uci.edu/~gohlke/pythonlibs/

下载离线安装包了,然后直接解压到python目录下的site-packages文件夹就好了(这种方法不推荐),如果可以还是建议使用pip install进行安装,当然,这期间自然免不了各种查资料,对了,我还遇到在安装pymouse过程中无法找到win32api的问题,这个是需要安装win32和pypiwin32就可以了。安装完成之后的列表如下图所示:

这个问题解决了下面就好办了,模拟鼠标双击TeamViewer图标,然后截图保存截图,最后发送图片到指定邮箱就好了

模拟鼠标点击

自动截屏,并按时间进行命名保存

这里不得不感叹,轮子造的好,社会摇到老,直接引入PIL模块,三行代码就实现截屏了,当然,要是截屏哪一块区域,直接引入对应参数即可

最后将截屏进行发送邮件就好了

以上代码仅仅是发送的文本,可是我需要的是截图,因此直接在内容中插入截图就好了

发送邮件整体代码如下:

运行成功截图是这样的:

邮件收到的是这样的:

美滋滋有木有~~~

最后,郑重感谢我的女朋友能够不厌其烦忍受我的发送邮件测试!!!等我回去带你去吃好吃的!!!

完整代码可移步:

https://github.com/JingLuo2017/Simulated-click-and-send-email

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180807G1QC4S00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券