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:使用itchat实现手机控制电脑的更多相关文章

  1. 手机控制电脑,在WIFI局域网下(关机,重启,遥控)

    这个软件叫百变遥控:http://blog.sina.com.cn/s/blog_9abc7dbc0101hmut.html 今天周末,在家里看电影,家里用的是台式电脑,我自己买了一个投影仪来专门看视 ...

  2. 手机控制电脑定时关机,重启WiFi

    需求 晚上上床,电脑开着WiFi让手机上网.要么上床之前就给电脑设置定时关机:要么就电脑开通宵:要么就待会下来关电脑.这3种情况都非常不好,要么麻烦,要么浪费. 最无奈的是电脑刚开好WiFi,上床后才 ...

  3. Android手机控制电脑撸出HelloWorld

    最近在开发一个远程办公的软件. 昨天在手机调通,并且成功通过手机打开电脑上的Eclipse撸出来一个HelloWorld. 也许不久的将来, 下班后,拿着手机在家写代码了.工作时间直接变成24/24 ...

  4. 手机控制电脑第二弹之HIPC

    点击蓝字关注我们 是否很多时候电脑不在身边,又急需要使用,比如正好要用一个文件,又没有放在我们的网盘中,想用手机查看电脑状态,但是很多太复杂的方式不会使用,需要简单的方式,今天方成分享给你 前言 故事 ...

  5. Andy - 又一款速度流畅的免费安卓 Android 模拟器 (支持手机无线控制电脑模拟器)

    随着 Genymotion.BlueStacks 等电脑上的 Android 模拟器流行起来之后,似乎很多人都发现在电脑上运行使用安卓APP软件.畅玩手机游戏确实很有乐趣. 今天我们又发现了一款全新免 ...

  6. nodePPT初认识启动与手机控制

    最近要做个PPT,想起之前看到过个网页PPT,于是这次就想尝试下,搜了下弹出个nodeppt---有可能是最好的网页PPT,那,就这个吧. 按照文档来,貌似有点问题,百度,又是一堆粘贴复制,没点用.自 ...

  7. WIFI环境下Android手机和电脑通信

    前面已经写过一篇java实现最基础的socket网络通信,这篇和之前那篇大同小异,只是将客户端代码移植到手机中,然后获取本机IP的方法略有不同. 先讲一下本篇中用到Android studio的使用吧 ...

  8. 在手机和电脑间双向加密传输文件 —— Windows 安装 Kde Connect

    2020-04-27 作为 Kde 项目的一部分,Windows 用户可能很少知道它,但它确实存在,而且超棒. Kde Connect 简直了,现在我的手机和 Linux 主机以及 Win 本完全是一 ...

  9. js判断是手机还是电脑访问网站

    js判断是手机还是电脑访问网站                               <script type="text/javascript"> <!- ...

随机推荐

  1. [笔记]mosh使用笔记

    听说mosh好使,那么怎么在Mac本下使用mosh来登录Ubuntu及AWS服务器呢? mosh介绍 mosh官网在:https://mosh.org/ 代码开源在:https://github.co ...

  2. Java堆内存设置

    转自:https://blog.csdn.net/Qiuzhongweiwei/article/details/81023645 堆内存设置 原理 JVM堆内存分为2块:永久空间和堆空间. 永久即持久 ...

  3. Java应用开发中的SQL注入攻击

    1. 什么是SQL注入攻击? SQL注入攻击是黑客对数据库进行攻击的常用手段之一.随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员越来越多.但是由于程序员的水平及经验参差不齐,相当一部分 ...

  4. PHP递归算法

    /** * 获取菜单 * @param number $id * @return multitype: */ public function menu($id = 0) { $menu = M ( ' ...

  5. CentOS6.5安装Qt4.8.6+QtCreator2.6.1

    工作中需要用到Qt在Linux下做开发,公司提供的电脑安装的CentOS6.2,但是为了和windows下自己使用的QT版本一直,于是也选择安装了Qt5.1.0.但是在CentOS下刚开始是无法启动, ...

  6. nfs挂载

    安装: yum install nfs-utils rpcbind 配置共享目录:vim /etc/exports /xxx/cloudcms *(insecure,rw,async,no_root_ ...

  7. [BZOJ4566][HAOI2016]找相同子串

    COGS传送门 用SAM重新写了一遍.. 我的方法比较笨,先把两个串连在一起,算出来相同子串个数,同理算出s1和s2的子串个数.作差即可. 至于如何统计子串个数,首先toposort后搞出right集 ...

  8. 4.9版本的linux内核中实时时钟芯片pcf85263的驱动源码在哪里

    答:drivers/rtc/rtc-pcf85263.c,内核配置选项为 CONFIG_RTC_DRV_PCF85263 Location: -> Device Drivers -> Re ...

  9. Feign PathVariable annotation was empty on param 0.

    使用Feign的时候,如果参数中带有 @PathVariable形式的参数,则要用value=""标明对应的参数,否则会抛出IllegalStateException异常 如 @P ...

  10. 跟着我一起学习大数据——Hadoop

    hadoop配置文件:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.9.0/ 一:Hadoop简介 总结下起源于Nutch项目,社区 ...