只用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程序与C++程序的联合使用
Apr 07 Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
Python查找第n个子串的技巧分享
Jun 27 Python
对Python信号处理模块signal详解
Jan 09 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
python hashlib加密实现代码
Oct 17 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
Apr 01 Python
Python爬虫实现vip电影下载的示例代码
Apr 20 Python
3种适用于Python的疯狂秘密武器及原因解析
Apr 29 Python
Python 程序员必须掌握的日志记录
Aug 17 Python
python如何绘制疫情图
Sep 16 Python
python关于集合的知识案例详解
May 30 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/07/30 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
JSON格式的键盘编码对照表
2015/01/29 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
python如何查看网页代码
2020/06/07 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
Python中如何定义一个函数
2016/09/06 面试题
给水工程专业毕业生自荐信
2014/01/28 职场文书
小学教师听课制度
2014/02/01 职场文书
业务员简历自我评价
2014/03/06 职场文书
事业单位竞聘上岗实施方案
2014/03/28 职场文书
纪检干部现实表现材料
2014/08/21 职场文书