python实现远程控制电脑

yipeiwu_com5年前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设计】。

相关文章

Python实现的建造者模式示例

本文实例讲述了Python实现的建造者模式。分享给大家供大家参考,具体如下: #!/usr/bin/python # -*- coding:utf-8 -*- #建造者基类 clas...

python实现beta分布概率密度函数的方法

python实现beta分布概率密度函数的方法

如下所示: beta分布的最大特点是其多样性, 从下图可以看出, beta分布具有各种形态, 有U形, 类似正态分布的形状, 类似uniform分布的形状等, 正式这一特质使beta...

python中如何使用朴素贝叶斯算法

python中如何使用朴素贝叶斯算法

这里再重复一下标题为什么是"使用"而不是"实现": 首先,专业人士提供的算法比我们自己写的算法无论是效率还是正确率上都要高。 其次,对于数学不好的人来说,为了实现算法而去研究一堆公式是很...

Django框架的使用教程路由请求响应的方法

Django框架的使用教程路由请求响应的方法

路由 路由可以定义在工程的目录下(看你的需求),也可以定义在各个应用中来保存应用的路由,用主路文件urls中使用include()包含各个应用的子路由的数据 路由的解析顺序 Django...

跟老齐学Python之变量和参数

那么什么这两个到底有什么区别和联系呢?我在网上搜了一下,发现很多说法,虽然大同小异,但是似乎只有下面这一段来自微软网站的比较高度抽象,而且意义涵盖深远。我摘抄过来,看官读一读,是否理解,...