只用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 16 Python
Python Paramiko模块的使用实际案例
Feb 01 Python
python实现快速排序的示例(二分法思想)
Mar 12 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
Python使用sklearn实现的各种回归算法示例
Jul 04 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
如何通过Django使用本地css/js文件
Jan 20 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 Python
python+django+selenium搭建简易自动化测试
Aug 19 Python
python 爬虫爬取京东ps4售卖情况
Dec 18 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
Feb 03 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
2016/12/24 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
javascript new后的constructor属性
2010/08/05 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
详细讲解Python中的文件I/O操作
2015/05/24 Python
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
python3.7 sys模块的具体使用
2019/07/22 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
python实现文法左递归的消除方法
2020/05/22 Python
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
会计专业自我评价
2014/02/12 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
Mysql中有关Datetime和Timestamp的使用总结
2021/12/06 MySQL
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python