今天在外面 Coding,后面惊现美女,如何优雅的看看她呢?快速瞅一眼,用手机假装自拍?作为程序员,想到的是使用 Python 远程控制自己的电脑
配图与本文无关
1. 技术原理,主要是使用 itchat。代码如下,不多很简洁
#coding=utf-8
import itchat
import os
import time
import cv2
sendMsg = "消息助手:暂时无法回复"
usageMsg = "使用方法:\n"\
"1.运行CMD命令:cmd xxx (xxx为命令)\n" \
"-例如关机命令(只适合 Windows):\ncmd shutdown -s -t 0\n" \
"2.获取当前电脑用户:cap\n" \
"3.启用消息助手:ast\n" \
"4.关闭消息助手:astc"
flag = 1 #消息助手打开
nowTime = time.localtime()
@itchat.msg_register('Text')
def text_reply(msg):
global flag
message = msg['Text']
fromName = msg['FromUserName']
toName = msg['ToUserName']
print("收到来自" + fromName +"的消息: \n" + message + "\n")
if toName == "filehelper":
if message == "cap":
cap = cv2.VideoCapture(0)
time.sleep(5) # 延迟5秒再读取
ret, img = cap.read()
cv2.imwrite("weixinTemp.jpg", img)
itchat.send('@img@%s'%u'weixinTemp.jpg', 'filehelper')
cap.release()
cv2.destroyAllWindows()
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:
print("回复给某人: " + message + "\n")
itchat.send(sendMsg, fromName)
if __name__ == '__main__':
itchat.auto_login(hotReload=True)
itchat.send(usageMsg, "filehelper")
itchat.run()
2. 运行代码
$ python wechat_remote_cap.py
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
3. 用微信扫一扫弹出的二维码,登录自己的 web 端微信(注意跟电脑端微信不能同时登录)
4. 在文件传输助手里,可以看到收到的信息
5. 获取电脑前用户
发送 cap 消息给文件传输助手
6. 使用此程序执行一些命令行
例如:发送 cmd ls 消息给文件传输助手
7. 使用此程序远程关机
只适用于 Windows。Mac 的命令行不同,且需要加sudo,然后在终端输入电脑密码才行
windows 远程关机,发以下消息给文件传输助手
cmd shutdown -s -t 0
Mac 远程关机,发以下消息给文件传输助手(mac 会提示输入电脑密码)
cmd sudo shutdown -h +2
8. 小结
本文介绍了使用 Python 远程控制电脑的方法,主要的技术是使用了 itchat 和 opencv2。
欢迎扫码关注公众号,大家一起相互交流