python - 定时拍照并发送到qq

写在前面

前两天发生一些恶心的事,突然想用python实现自动拍照的功能间接起到监控的作用。
网上搜了各种资料,整理如下。

代码
from VideoCapture import Device
from PIL import  Image
from ctypes import *
import os, time, win32gui, win32con, win32clipboard as w
# 获取剪贴板的文本
def getText():
    w.OpenClipboard()
    d = w.GetClipboardData(win32con.CF_UNICODETEXT)
    w.CloseClipboard()
    return d
# 设置剪贴板的内容
def setText(content):
    w.OpenClipboard()
    w.EmptyClipboard()
    #w.SetClipboardData(win32con.CF_UNICODETEXT, content)
    w.SetClipboardData(win32con.CF_BITMAP, content)
    w.CloseClipboard()
# 发送QQ消息
def send_qq(to_who, msg):
    setText(msg)
    # 获取qq窗口句柄
    qq = win32gui.FindWindow(None, to_who)
    # 把剪贴板内容发送到qq窗口
    win32gui.SendMessage(qq, 258, 22, 2080193)
    win32gui.SendMessage(qq, 770, 0, 0)
    # 回车
    win32gui.SendMessage(qq, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
    win32gui.SendMessage(qq, win32con.WM_KEYUP, win32con.VK_RETURN, 0)

# 打开一个qq窗口,不能最小化,可以拉到一边
# 昵称
to_who = "XXX"
cam = Device()
# 模板的demo里面没有quality这个参数,但是时间运行要加上
while (1):
    # 文件夹中保存的照片数量
    for i in range(10):
        s = str(i) + '.jpg'
        s2 = "b" + str(i) + ".bmp"
        cam.saveSnapshot(s, timestamp=3, boldfont=1, quality=75)
        # 设置频率
        time.sleep(2)
        img = Image.open(s)
        img.save(s2)
        msg = windll.user32.LoadImageW(0, s2, win32con.IMAGE_BITMAP, 0, 0, win32con.LR_LOADFROMFILE)
        send_qq(to_who, msg)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值