python使用itchat实现手机控制电脑

yipeiwu_com6年前Python基础

本文实例为大家分享了python使用itchat实现手机控制电脑的具体代码,供大家参考,具体内容如下

1.准备材料

首先电脑上需要安装了python,安装了opencv更好(非必需)

如果安装了opencv的话,在opencv的python目录下找到cv2.pyd,将该文件放到python的库搜索路径就可以导入了

然后下载itchat:github

2.开始使用

下载了itchat后解压(建议先阅读该文件夹下的docs),然后在该文件夹下执行cmd命令来安装itchat库:

python setup.py install

接着可以执行demo程序:

#encoding:utf8
import itchat
import os
import time
#import cv2 #如果使用opencv的话可以远程拍照

sendMsg = u"[消息助手]:暂时无法回复" #自动回复内容
usageMsg = u"使用方法:\n1.运行CMD命令:cmd xxx (xxx为命令)\n-例如关机命令:\ncmd shutdown -s -t 0 \n2.获取一张图片:cap\n3.启用消息助手(默认关闭):ast\n4.关闭消息助手:astc"

@itchat.msg_register('Text') #注册文本消息

def text_reply(msg): #心跳程序
 global flag
 message = msg['Text'] #接收文本消息
 fromName =msg['FromUserName'] #发送方
 toName = msg['ToUserName'] #接收方

 if toName == "filehelper":
  if message == "cap": #远程拍照并发送到手机
   #cap=cv2.VideoCapture(0)
   #ret,img =cap.read()
   #cv2.imwrite("weixinTemp.jpg",img)
   #itchat.send('@img@%s'%u'weixinTemp.jpg','filehelper')
   #cap.release()
  if message[0]+message[1]+message[2] == "cmd": #远程执行cmd命令 
   os.system(message.strip(message[0]+message[1]+message[2]+message[3])) #远程执行cmd命令,可以实现关机
  if message == "ast":
   flag = 1
   itchat.send("消息助手已开启","filehelper")
  if message == "astc":
   flag = 0
   itchat.send("消息助手已关闭","filehelper")
 elif flag==1:
  itchat.send(sendMsg,fromName)
  myfile.write(message) #保存消息内容
  myfile.write("\n")
  myfile.flush()

flag = 0 #消息助手开关
nowTime = time.localtime()
filename =str(nowTime.tm_mday)+str(nowTime.tm_hour)+str(nowTime.tm_min)+str(nowTime.tm_sec)+".txt"
myfile = open(filename,'w')

if __name__ == '__main__':
 itchat.auto_login()
 itchat.send(usageMsg,"filehelper")
 itchat.run()

执行成功的话它会跳出一个二维码,使用微信扫码登录,然后就可以在手机通过微信的手机助手远程操作电脑了,使用opencv的目的是实现远程拍照,在以上的demo中已经将相关代码注释了。

其他:可以使用itchat实现微信机器人等有趣的功能,github中有较为详细的指导;如果想开机启动的话可以在任务计划里创建一个任务。

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

相关文章

Python实现判断给定列表是否有重复元素的方法

Python实现判断给定列表是否有重复元素的方法

本文实例讲述了Python实现判断给定列表是否有重复元素的方法。分享给大家供大家参考,具体如下: 题目很简单,只是简单温习一个方法,most_common,这是collection模块中...

matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)

matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)

1.横坐标设置时间格式 import matplotlib.pyplot as plt import matplotlib.dates as mdates # 配置横坐标为日期格式...

Python 画出来六维图

Python 画出来六维图

来自维基百科 我们的大脑通常最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面。 不过,我们仍然可以绘制出多维空间,今天就来用 P...

简单了解Python matplotlib线的属性

简单了解Python matplotlib线的属性

示例 效果 颜色 线的风格 标记类型 plot的更多参数 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。...

详解python持久化文件读写

持久化文件读写: f=open('info.txt','a+') f.seek(0) str1=f.read() if len(str1)==0: f1 = open('info...