python擁有大量的第三方庫,且語法簡單。今天老楊就用python實現遠程控制電腦
所謂,謀定而后動,在實現任何一個需求之前,我們需要先分析,捋清楚一個思路,遠程控制電腦,無非就是接收遠程的命令和根據命令去執行對應的操作。那這里,我們借助微信來接收命令,利用我們的一個itchat庫實現遠程控制電腦
按上所說,我們要完成需求,無非是把任務細分,首先,接收到消息指令,再根據對應的指令執行相對應的操作,其中我們需要考慮一個問題就是誤觸問題。
python有大量的第三方庫,這里我們借助itchat這個第三方庫
首先通過pip進行第三方庫的安裝
pip install itchat
引入第三方庫
import itchat
開始代碼,不管三七二十一,先來個標准套路:
def main():
pass
if __name__=='__main__':
main()
1
2
3
4
讓微信運行
import itchat
def main():
# 登錄微信 避免重復掃碼 熱加載
itchat.auto_login(hotReload=True)
# 微信運行起來
itchat.run()
if __name__=='__main__':
main()
1
2
3
4
5
6
7
8
接收微信消息,獲得指令,執行操作
import os
@itchat.msg_register('Text')
def main(msg):
message = msg['Text']
if message == '關機':
os.system('shutdown /s /t 0')
1
2
3
4
5
6
大概思路已經得知,接下來我們應該做更多優化,比如解決誤觸等問題
完整代碼如下:
import itchat
import os
import cv2
@itchat.msg_register('Text')
def main(msg):
message = msg['Text'].strip()
ToUserName = msg['ToUserName']
FromUserName = msg['FromUserName']
if FromUserName == ToUserName:
tip = '輸入 on 開啟操控 默認是關閉的'
itchat.send(tip,'filehelper')
if ToUserName == 'filehelper':
control(message)
flag = False
def control(message):
global flag
if message == 'on':
tip = '現在可以開始操控了 輸入關機 或者輸入 拍照'
itchat.send(tip,'filehelper')
flag = True
if message == 'off':
tip = '現在已經操控了 輸入 on 打開操控'
itchat.send(tip,'filehelper')
flag = False
if flag == True:
if message == '關機':
cmd()
elif message == '拍照':
img()
def cmd(http://www.my516.com):
os.system('shutdown /s /t 0')
def img():
cap = cv2.VideoCapture(0)
ret ,img = cap.read()
filename = 'wechat.jpg'
cv2.imwrite(filename,img)
cap.release()
itchat.send_image(filename,'filehelper')
def main():
itchat.auto_login(hotReload=True)
itchat.run()
if __name__=='__main__':
main()
---------------------