python远程控制电脑
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()
---------------------
python远程控制电脑的更多相关文章
- 使用python实现用微信远程控制电脑
首先,我们要先看看微信远程控制电脑的原理是什么呢? 我们可以利用Python的标准库控制本机电脑,然后要实现远程的话,我们可以把电子邮件作为远程控制的渠道,我们用Python自动登录邮箱检测邮件,当我 ...
- python 使用微信远程控制电脑
今天来分享一个"高大上"的技术--使用python编写一个能够用微信远程控制电脑的程序! 先来分析一下控制的详细流程: 我们使用微信给特定的邮箱发送一封邮件,当中包括了我们想要电脑 ...
- Remote Desktop安卓软件实现手机远程控制电脑
这篇文章写的是利用Remote Desktop安卓软件实现手机远程控制电脑. 电脑上的操作: 鼠标右击计算机>属性>远程设置>计算机名 如下图:
- Python 修改电脑DNS
Pc电脑一般连网都是动态DHCP获取局域的IP地址,而且DNS服务器为自动获取地址.要修改DNS就要打开本地网络-本地连接- 属性- TCP/IP 手动修改DNS. 其实Python也可以通过WMI接 ...
- python制作电脑定时关机办公神器,另含其它两种方式,无需编程!
小编本人目前就是在电脑面前工作,常常会工作到凌晨两三点还在为自己的梦想奋斗着.有时在办公椅上就稀里糊涂睡着了,我相信有很多朋友和我一样,这样是很不好的.第一对身体不好,第二对电脑不好. 对身体 ...
- 通过ip远程控制电脑
现在,很多人都用了不止一台电脑,而同时操作两台电脑是一件比较麻烦的事情,所以,如果能够使用一台电脑的鼠标键盘显示器,去远程控制另一台电脑,那就方便多了. 远程计算机设置 1.先确保本地计算机和远程计算 ...
- Mac上使用sunlogin向日葵软件远程控制电脑
1 安装软件 控制端和客户端都安装 https://sunlogin.oray.com/personal/download/ 2 再两台电脑上都安装好客户端和控制端后,打开控制端软件 可以看到自己登录 ...
- 利用python查看电脑系统信息
#查看python默认编码格式 >>> import sys >>> print sys.getdefaultencoding() #python 2.x 默认编码 ...
- 用Python打造电脑人脸屏幕解锁神器附带接头暗号!
前言 最近突然有个奇妙的想法,就是当我对着电脑屏幕的时候,电脑会先识别屏幕上的人脸是否是本人,如果识别是本人的话需要回答电脑说的暗语,答对了才会解锁并且有三次机会.如果都没答对就会发送邮件给我,通知有 ...
随机推荐
- (21) java web的struts2框架的使用-Action实现的三种方式
上一篇介绍了struts使用的四个步骤. 其中在开发action的时候,可以有三种实现方式: 1,写一个类,继承与ActionSupport 2,写一个类,实现Action接口 3,写一个类,实现业务 ...
- method.invoke()使用
public Object invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentExcep ...
- Oracle - 创建表视图等 - DDL
解锁scott: sqlplus / as sysdba; alter user scott account unlock; alter user scott identified by tiger; ...
- RK3288 make otapackage 出错的问题【转】
本文转载自:http://blog.csdn.net/u010439962/article/details/51734631 Installed file list: out/target/produ ...
- 如何将Eclipse中的项目迁移到Android Studio中
如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的是生成Build Gradle的文件.因为Android Studi ...
- bzoj 2169 连边 —— DP+容斥
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2169 就和这篇博客说的一样:https://blog.csdn.net/WerKeyTom_ ...
- 基于COCHONUT做和弦识别
论文为:COCHONUT: Recognizing Complex Chords From MIDI Guitar Sequences 出处:international symposium/confe ...
- 《StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation》论文笔记
---恢复内容开始--- Motivation 使用单组的生成器G和判别训练图片在多个不同的图片域中进行转换 效果确实很逆天,难怪连Good Fellow都亲手给本文点赞 Introduction 论 ...
- 【180】IDL 读写 HDF 文件
HDF(Hierarchical Data Formats)数据格式由 NCSA 开发.HDF 提供了大量的数据模式,包括多维数组.表格.图像.注解和调色板.在下面的章节中,将描述 HDF 科学数据系 ...
- (转)Repeater中增加序号自增列
<%# Convert.ToString(Container.ItemIndex+)%> 当Repeater空为时,提示没有数据... <FooterTemplate> < ...