只用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根据路径导入模块的方法
Sep 30 Python
python的exec、eval使用分析
Dec 11 Python
python正则实现计算器功能
Dec 14 Python
用pycharm开发django项目示例代码
Oct 24 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
基于numpy中的expand_dims函数用法
Dec 18 Python
Pytorch之finetune使用详解
Jan 18 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
浅谈python 类方法/静态方法
Sep 18 Python
python二维图制作的实例代码
Dec 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
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
python如何获取服务器硬件信息
2017/05/11 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
自我鉴定书范文
2013/10/02 职场文书
如何写好自荐信
2014/04/07 职场文书
洗手间标语
2014/06/23 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
会议开幕词
2015/01/28 职场文书
go语言map与string的相互转换的实现
2021/04/07 Golang
python控制台打印log输出重复的解决方法
2021/05/14 Python
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
字节飞书面试promise.all实现示例
2022/06/16 Javascript