只用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 ip正则式
May 07 Python
Python文件处理
Feb 29 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
Python实现的栈(Stack)
Jan 26 Python
Python装饰器用法示例小结
Feb 11 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
Python图像处理之简单画板实现方法示例
Aug 30 Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
什么是python的必选参数
Jun 21 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
市场营销专业毕业生自荐信
2013/11/02 职场文书
平面设计求职信
2014/03/10 职场文书
吨的认识教学反思
2014/04/27 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
爱心募捐感谢信
2015/01/22 职场文书
校车司机安全责任书
2015/05/11 职场文书
红色经典观后感
2015/06/18 职场文书
文艺节目主持词
2015/07/06 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL