python如何实现远程控制电脑(结合微信)
作者:xfk 发布时间:2022-05-13 20:05:25
标签:python,远程控制
不知道大家有没有这样一个烦恼,“自己的电脑总是被别人使用,又不好意思设置密码”,所以利用python设计了一个程序来实现自由管控。
功能虽然简单,但大家可以通过其思路来实现更多的功能。
大致功能主要是两个部分,
一、电脑开机时,我的手机能收到通知。
二、可以通过手机发个特定的mail,就可以控制电脑关机。
第一个步骤:申请一个邮箱,使这个邮箱与你的手机号码绑定,然后你在这个邮箱中设定如果有新的邮件就发短信通知,这样开机时往这个邮箱发个mail,我手机就会收到短信通知了。
第二个步骤:通过python 脚本,定时去检查163.com邮箱中是否有指定的邮件,如果有,则执行特定功能(我的是关机)。
第一步骤申请成功以后。手机也可以通过一个号码10658139来发送mail,编辑短信格式如:test@163.com(空格)主旨(空格)正文.
这样我如果想关机,就会用手机发个mail到163邮箱,主旨是'关机',程式检测到这个mail以后就会执行关机动作。
注意:手机发送邮件时的格式,注意读取邮件时get_payload的输出,根据输出和你发的邮件内容要匹配,当时我就遇到\n的问题。
回去后想了想,既然可以用手机邮箱控制,那么大家都用的是智能机咯,而且大家都比较喜欢玩微信,那么微信里面有个邮箱助手,实时提醒你新邮件,这样可以更方便的控制你自己的机子咯!!!!!
#!/etc/bin/env python
#-*-encoding=utf-8-*-
#auth@:dengyongkai
#blog@:blog.sina.com.cn/kaiyongdeng
import poplib,email
from email.header import decode_header
import smtplib
import time
import os,sys
import random
def accp_mail():
try:
p=poplib.POP3('pop.qq.com')
p.user('用户名')
p.pass_('密码')
ret = p.stat()
except poplib.error_proto,e:
return 1
print "Login failed:",e
sys.exit(1)
# for i in range(1,ret[0]+1):
# str=s.top(i,0)
# strlist=[]
# for x in str[1]:
# try:
# strlist.append(x.decode())
# except:
# try:
# strlist.append(x.decode('gbk'))
# except:
# strlist.append(x.decode('big5'))
#
# mm = email.message_from_string('\n'.join(strlist))
# sub=decode_header(mm['subject'])
# if sub[0][1]:
# submsg = sub[0][0].decode(sub[0][1])
# else:
# submsg = sub[0][0]
#
# if submsg.strip()=='startpc':
# s.dele(i)
# return 0
#
# s.quit()
# return 1
#
for item in p.list()[1]:
number,octets = item.split(' ')
# print "Message %s: %sbytes"%(number,octets)
lines = p.retr(number)[1]
msg = email.message_from_string("\n".join(lines))
# print msg.as_string()
print msg.get_payload()
if msg.get_payload()=="start\n\n":
return 0
def send_mail():
try:
handle = smtplib.SMTP('smtp.163.com', 25)
handle.login('********@163.com','密码')
msg = "To: ********@qq.com\r\nFrom: ********@163.com\r\nSubject: startpc \r\n\r\nstart\r\n"
handle.sendmail('********@163.com','********@qq.com', msg)
handle.close()
return 1
except:
return 0
if __name__=='__main__':
while send_mail()==0:
time.sleep(2)
while 1:
time.sleep(5)
if accp_mail()==0:
os.system('shutdown -f -s -t 10 -c closing...')
#print "哈哈哈哈哈哈哈,成功啦!!!!!!"
break


猜你喜欢
- 今天没事回家写了个贴吧图片下载程序,工具用的是PyCharm,这个工具很实用,开始用的Eclipse,但是再使用类库或者其它方便并不实用,所
- 本文实例为大家分享了python实现文字版扫雷的具体代码,供大家参考,具体内容如下python版本:2.7游戏运行图:代码已经注释得很清楚,
- 利用go语言的协程并发优势爬取网页速度相当之快,博客园100页新闻标题只需一秒即可全部爬取package mainimport ( &quo
- 1.安装2.操作一个简单的Excel文档操作注释及代码:操作完成后,数据存储结果如下:3. 操作简单Excel文档并添加数据格式操作代码如下
- 在使用Sublime Text3 的时候导numpy的包发现报错,找不到这个包,这是因为要配置pip源才能正常导包,进行from numpy
- python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手。python爬虫微博根据微博存在于不同媒介上,
- 简介使用 Python 进行数据分析时,比较常用的库有 Numpy、Pandas、Matplotlib,本篇文章就来说一下 Numpy 的使
- 做数据分析、科学计算等离不开工具、语言的使用,目前最流行的数据语言,无非是MATLAB,R语言,Python这三种语言,但今天小编简单总结了
- 相信大家在日常学习或者是阅读英文文章的过程中,难免会出现几个不认识的单词,或者想快速翻译某段英文的意思。今天,利用Python爬虫等知识,教
- 本文实例讲述了Python实现按照指定要求逆序输出一个数字的方法。分享给大家供大家参考,具体如下:问题是:输入一个数字,按照指定要求逆序输出
- GO语言结构体方法跟结构体指针方法的区别首先,我定了三个接口、一个结构和三个方法:type DeptModeA interface {Nam
- 一般我们安装Python的第三方包都会在终端执行下列命令进行安装:pip install 要安装的包名安装成功后发现在PyCharm中仍然存
- 1.下载 4个rpm包mysql-community-client-5.7.26-1.el7.x86_64.rpmmysql-communi
- Vue中内置了很多的指令,如v-model、v-show、v-html等,但是有时候这些指令并不能满足我们,或者说我们想为元素附加一些特别的
- 本文实例讲述了PHP递归调用数组值并用其执行指定函数的方法。分享给大家供大家参考。具体分析如下:以下为wordpress原代码,为了偷懒,简
- 本文实例讲述了js中forEach,for in,for of循环的用法。分享给大家供大家参考,具体如下:一、一般的遍历数组的方法:var
- 一.问题使用黄金分割法来计算二.代码#黄金分割法python求解PPT上第一个例题#因为函数要求解最大值而这个方法一般求解最小值所以把函数取
- 执行sql 语句,中间没有用到临时表提示服务器: 消息 9002,级别 17,状态 2,行 1数据库 'tempdb' 的日
- 当你碰到下面的asp错误提示时,说明你asp运行脚本超时了! Active Serv
- 本文实例讲述了JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果。分享给大家供大家参考,具体如下:思路:1、首先用把密码框用txt暂