只用20行Python代码实现屏幕录制功能


Posted in Python onJune 02, 2021

一、模块安装

首先,我们需要用到两个python的两个模块,win32gui和PyQt5

1.pip install win32gui

2.pip install PyQt5

1、pip install win32gui
PS C:\Users\lex\Desktop> pip install win32gui
Looking in indexes: http://mirrors.aliyun.com/pypi/simple
Requirement already satisfied: win32gui in f:\develop\python36\lib\site-packages (221.6)
Requirement already satisfied: win32core in f:\develop\python36\lib\site-packages (from win32gui) (221.36)
 
2、pip install PyQt5
PS C:\Users\lex\Desktop> pip install PyQt5
Looking in indexes: http://mirrors.aliyun.com/pypi/simple
Requirement already satisfied: PyQt5 in f:\develop\python36\lib\site-packages (5.15.4)
Requirement already satisfied: PyQt5-sip<13,>=12.8 in f:\develop\python36\lib\site-packages (from PyQt5) (12.8.1)
Requirement already satisfied: PyQt5-Qt5>=5.15 in f:\develop\python36\lib\site-packages (from PyQt5) (5.15.2)
PS C:\Users\lex\Desktop>

二、设计思路

1.通过win32gui模块,调用windows系统的截屏功能,对屏幕进行录制。

2.通过timer定时器,实现每隔2秒钟,截屏一次,从而记录屏幕使用者的操作记录。

3.对截取的屏幕按照 截取时间进行命名,并存储到一个比较隐秘的文件夹路径中。

这样,我们通过,查看文件夹中的照片,就可以清晰的掌握 不明登陆者,在电脑上进行了什么样的操作。

三、代码实现

只需要简简单单10多行代码,就可以实现对windows系统电脑屏幕的录制。

代码如下:

#定义函数,每个2秒 抓取一次屏幕截屏
def timer(n):
    while True:  
        dt= time.strftime('%Y-%m-%d %H%M%S',time.localtime())
        screen = QApplication.primaryScreen()
        img = screen.grabWindow(record).toImage()
        img.save("D:\\images\\"+dt+".jpg")
        time.sleep(n)
if __name__ == "__main__":
    timer(2)

四、运行方法

1.python环境检查

命令行运行 python,查看python版本为3.6.5

PS C:\Users\lex\Desktop> python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

2.程序运行

命令行运行 python py-screen.py 即可,效果如下图:

只用20行Python代码实现屏幕录制功能

五、完整代码

from PyQt5.QtWidgets import QApplication
import win32gui
import sys
import time
record = win32gui.FindWindow(None, 'C:\Windows\system32\cmd.exe')
app = QApplication(sys.argv)
def timer(n):
    while True:  
        dt= time.strftime('%Y-%m-%d %H%M%S',time.localtime())
        screen = QApplication.primaryScreen()
        img = screen.grabWindow(record).toImage()
        img.save("D:\\images\\"+dt+".jpg")
        time.sleep(n)
if __name__ == "__main__":
    timer(2)

六、故事结尾

最后,看了一下电脑截图

原来只是在直播而已

只用20行Python代码实现屏幕录制功能

还好还好,python小哥哥终于可以放心的睡了

到此这篇关于只用20行Python代码实现屏幕录制功能的文章就介绍到这了,更多相关Python屏幕录制内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python随机生成信用卡卡号的实现方法
May 14 Python
教你用Python写安卓游戏外挂
Jan 11 Python
python中的变量如何开辟内存
Jun 26 Python
分享vim python缩进等一些配置
Jul 02 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
python 实现视频 图像帧提取
Dec 10 Python
python属于解释型语言么
Jun 15 Python
python入门教程之基本算术运算符
Nov 13 Python
Django URL参数Template反向解析
Nov 24 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 #Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 #Python
python flask开发的简单基金查询工具
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
You might like
PHP 地址栏信息的获取代码
2009/01/07 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
JS在IE下缺少标识符的错误
2014/07/23 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
vue项目实战总结篇
2018/02/11 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python如何实现excel数据添加到mongodb
2015/07/30 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
Python如何使用input函数获取输入
2020/08/06 Python
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
机械设计及其自动化求职推荐信
2014/02/17 职场文书
护士节活动总结
2014/08/29 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
劳模先进事迹材料
2014/12/24 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
企业年会祝酒词
2015/08/11 职场文书
基于python实现银行管理系统
2021/04/20 Python
如何通过cmd 连接阿里云服务器
2022/04/18 Servers
Golang 遍历二叉树
2022/04/19 Golang
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android