python实现远程控制电脑

yipeiwu_com6年前Python基础

python远程控制电脑的具体代码,供大家参考,具体内容如下

python拥有大量的第三方库,且语法简单。今天老杨就用python实现远程控制电脑

所谓,谋定而后动,在实现任何一个需求之前,我们需要先分析,捋清楚一个思路,远程控制电脑,无非就是接收远程的命令和根据命令去执行对应的操作。那这里,我们借助微信来接收命令,利用我们的一个itchat库实现远程控制电脑

按上所说,我们要完成需求,无非是把任务细分,首先,接收到消息指令,再根据对应的指令执行相对应的操作,其中我们需要考虑一个问题就是误触问题。

python有大量的第三方库,这里我们借助itchat这个第三方库

首先通过pip进行第三方库的安装

pip install itchat

引入第三方库

​import itchat

开始代码,不管三七二十一,先来个标准套路:

def main():
 pass
if __name__=='__main__':
 main()

让微信运行

import itchat
def main():
 # 登录微信 避免重复扫码 热加载
 itchat.auto_login(hotReload=True)
 # 微信运行起来
 itchat.run()
if __name__=='__main__':
 main()

接收微信消息,获得指令,执行操作

import os
@itchat.msg_register('Text')
def main(msg):
 message = msg['Text']
 if message == '关机':
  os.system('shutdown /s /t 0')

大概思路已经得知,接下来我们应该做更多优化,比如解决误触等问题

完整代码如下:

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():
 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题

python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题

最近的答题赢钱很火爆,我也参与了几次,有些题目确实很难答,但是10秒钟的时间根本不够百度的,所以写了个辅助挂,这样可以出现题目时自动百度,这个时间也就花掉2秒钟,剩下的7、8秒钟可以进行...

python 画函数曲线示例

python 画函数曲线示例

如下所示: import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 10...

简单介绍Python中利用生成器实现的并发编程

我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程。 多进程编程在python中有类似C的os.fork,当然还有更高层封装的multiprocessing标准库...

python 浅谈serial与stm32通信的编码问题

参考链接: decode错误处理方案 可选用的编码 使用环境: ubuntu18.04 python3.65 问题点: 使用pyserial与stm32通信,使用如下形式的编码进行wri...

python SVM 线性分类模型的实现

python SVM 线性分类模型的实现

运行环境:win10 64位 py 3.6 pycharm 2018.1.1 导入对应的包和数据 import matplotlib.pyplot as plt import num...