只用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命令行交互提示符的方法
Jan 14 Python
Python的Django框架中的Context使用
Jul 15 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
python解析基于xml格式的日志文件
Feb 25 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
Python自定义一个类实现字典dict功能的方法
Jan 19 Python
python隐藏终端执行cmd命令的方法
Jun 24 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
Python文件操作及内置函数flush原理解析
Oct 13 Python
python 批量下载bilibili视频的gui程序
Nov 20 Python
Anaconda安装pytorch及配置PyCharm 2021环境
Jun 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清除bom示例
2014/03/03 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
PHP的PDO连接讲解
2019/01/24 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
python从入门到精通(DAY 2)
2015/12/20 Python
django+js+ajax实现刷新页面的方法
2017/05/22 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
python实现宿舍管理系统
2019/11/22 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
django修改models重建数据库的操作
2020/03/31 Python
质检部部长职责
2013/12/16 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
朋友离别感言
2015/08/04 职场文书
机械生产实习心得体会
2016/01/22 职场文书
初中历史教学反思
2016/02/19 职场文书