當前位置:名人名言大全網 - 短信平臺 - python如何實現遠程控制電腦(結合微信)

python如何實現遠程控制電腦(結合微信)

不知道大家有沒有這樣壹個煩惱,“自己的電腦總是被別人使用,又不好意思設置密碼”,所以利用python設計了壹個程序來實現自由管控。

功能雖然簡單,但大家可以通過其思路來實現更多的功能。

大致功能主要是兩個部分,

壹、電腦開機時,我的手機能收到通知。

二、可以通過手機發個特定的mail,就可以控制電腦關機。

第壹個步驟:申請壹個郵箱,使這個郵箱與妳的手機號碼綁定,然後妳在這個郵箱中設定如果有新的郵件就發短信通知,這樣開機時往這個郵箱發個mail,我手機就會收到短信通知了。

第二個步驟:通過python 腳本,定時去檢查163.com郵箱中是否有指定的郵件,如果有,則執行特定功能(我的是關機)。

第壹步驟申請成功以後。手機也可以通過壹個號碼10658139來發送mail,編輯短信格式如:test@163.com(空格)主旨(空格)正文.

這樣我如果想關機,就會用手機發個mail到163郵箱,主旨是'關機',程式檢測到這個mail以後就會執行關機動作。

註意:手機發送郵件時的格式,註意讀取郵件時get_payload的輸出,根據輸出和妳發的郵件內容要匹配,當時我就遇到

的問題。

回去後想了想,既然可以用手機郵箱控制,那麽大家都用的是智能機咯,而且大家都比較喜歡玩微信,那麽微信裏面有個郵箱助手,實時提醒妳新郵件,這樣可以更方便的控制妳自己的機子咯!!!!!

#!/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('

'.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("

".join(lines))

# print msg.as_string()

print msg.get_payload()

if msg.get_payload()=="start

":

return 0

def send_mail():

try:

handle = smtplib.SMTP('smtp.163.com', 25)

handle.login('********@163.com','密碼')

msg = "To: ********@qq.com

From: ********@163.com

Subject: startpc

start

"

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