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查找两个有序列表中位数的方法。分享给大家供大家参考,具体如下: 今天做到的一个机试题目,很简单,这里简单记录一下: 我用的是归并的思想,当然还可以用递归的方法,...

python基础教程之udp端口扫描

一、概述任务描述:开发一个程序,用于获取局域网中开启snmp服务的主机ip地址列表,并写入相应文件以便其它程序使用。背景知识:SNMP是基于UDP的,而且标准的SNMP服务使用161和1...

常见的在Python中实现单例模式的三种方法

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资...

Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子

scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。 这里就直接用python的scapy搞。 这里是ar...

用Anaconda安装本地python包的方法及路径问题(图文)

用Anaconda安装本地python包的方法及路径问题(图文)

Anaconda确实带来了很多方便,但是之前也过多的依赖了conda自带的一键下载python包的功能。这不,这几天突然要用FastFM这个包,无奈conda里没有,于是只能从githu...