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 Socket网络编程

Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏...

通过python顺序修改文件名字的方法

通过python顺序修改文件名字的方法

问题:将文件夹a下任意命名的10个文件修改为如下图所示文件? 代码: #coding:utf-8 import os path = "./a/" dirs = os.listdir...

python使用多线程不断刷新网页的方法

本文实例讲述了python使用多线程不断刷新网页的方法。分享给大家供大家参考。具体如下: 这段代码可以开通过个线程不断刷新指定的页面,可用于刷票,增加网页访问量等等,不用再去按F5了...

python、java等哪一门编程语言适合人工智能?

python、java等哪一门编程语言适合人工智能?

谷歌的AI击败了一位围棋大师,是一种衡量人工智能突然的快速发展的方式,也揭示了这些技术如何发展而来和将来可以如何发展。 人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具。一...

python 求一个列表中所有元素的乘积实例

如下所示: # 求一个列表中所有元素的乘积 from functools import reduce lt = [1,2,3,4,5] ln = reduce(lambda x...