• 欢迎访问有趣之家
  • 本站微信公众号:老Y工作室(id:laoygzs)

40行代码,实现微信控制电脑(关机、打开电脑摄像头拍照……)

实用杂谈 Yu 3年前 (2019-10-11) 1298次浏览 0个评论
文章目录[隐藏]

老Y在之前的文章中说过,Python可能是最简易最实用的一门语言,也是最适合0基础学习的编程语言。

也在文章中分享了一些python教程资源

因为老Y对Python也比较感兴趣,平时会留意一些有意思的小代码,今天就给大家分享在知乎上@痴海写的一小段脚本,

脚本只有短短40几行代码

运行后,   你可以通过在微信发送命令,来拍摄当前电脑的使用者,然后图片会发送到你的微信上,甚至还可以通过微信实现电脑关机。  

原理:主程序用到了三个第三方Python库(itchat、opencv、matplotlib)。息。并通过 opencv 来调用电脑的摄像头,把当前使用电脑的用户拍照下来,发送到你的微信上。至于远程关机是通过调用 os 库,发送 cmd 命名即可实现。

看不懂上面的原理没关系,因为老Y现在手把手教大家如何实现,依葫芦画瓢就可以了(适合小白的教程,大神直接看代码就可以了)。

老Y将从以下两个方面详细讲解:

1.  安装Python3.7

2.  运行代码,微信操作

一、安装python3.7

使用python前,当然先要安装了(下面的安装步骤参考的是廖雪峰的博客https://www.liaoxuefeng.com/)。

1. 下载

首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.7对应的版本。

64位安装程序:http://www.python.org/ftp/python/3.7.1/python-3.7.1-amd64.exe

32位安装程序:http://www.python.org/ftp/python/3.7.1/python-3.7.1.exe

百度网盘下载地址:

https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fpython

2. 双击运行EXE安装包

特别要注意勾上Add Python 3.7 to PATH,然后点“Install Now”即可完成安装。

安装成功后,打开命令提示符窗口(win+R,输入cmd),敲入python后

看到上述画面就说明成功了

3.  安装第三方库

程序中用到了三个第三方Python库,需要安装,方法也很简单,打开命令提示符窗口,

依次输入下面的代码

pip install numpy Matplotlib

pip install opencv-python

pip install itchat

二、运行代码,微信操作

1.  在Python的安装目录下,打开IDLE,将代码复制进去,保存

2. 点击Run—Run Module,或者直接按F5,可以看到代码已经工作,自动跳出微信网页版登录二维码。

3. 打开微信扫一扫登录,这是看到手机端微信的文件传输助手,自动发送了使用方法。

试试看cap命令,完美的老Y偷拍了一张。

另外可以使用shutdown命令,实现微信关闭电脑。

最后贴一下完整的python代码(可左右滑动),也可以公众号后台回复 “python3.7”获取。

import itchat
import os
import time
import cv2

sendMsg = u"{消息助手}:暂时无法回复"
usageMsg = u"使用方法:\n1.运行CMD命令:cmd xxx (xxx为命令)\n" \
           u"-例如关机命令:\ncmd shutdown -s -t 0 \n" \
           u"2.获取当前电脑用户:cap\n3.启用消息助手(默认关闭):ast\n" \
           u"4.关闭消息助手:astc"
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')

@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:3] == "cmd":
            os.system(message.strip(message[0:4]))
        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()

if __name__ == '__main__':
    itchat.auto_login()
    itchat.send(usageMsg, "filehelper")
    itchat.run()<code class="">
</code>

 

注意:代码为知乎@痴海原创,请勿用户商业和非法用途。


有趣之家 , 版权所有丨如未注明 , 均为原创丨转载请注明原文链接:40行代码,实现微信控制电脑(关机、打开电脑摄像头拍照……)
微信扫描下方二维码,发现更多有趣实用的文章laoy微信公众号:老Y工作室
喜欢 (6)
[微信扫一扫支持我们]
分享 (0)

您必须 登录 才能发表评论!