前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >写了个Python小工具,再也不怕孩子偷偷玩电脑游戏啦

写了个Python小工具,再也不怕孩子偷偷玩电脑游戏啦

作者头像
Crossin先生
发布2020-02-21 15:00:20
1K0
发布2020-02-21 15:00:20
举报

马上要过年啦,中小学生也都放假了,自然要放松放松。但难免有的孩子打起游戏来就控制不住自己。怎么办呢,今天小编就带领大家来做一个防止孩子玩游戏的Python小程序

1

查询电脑的所有进程

用Python循环检测电脑软件的运行情况,当发现游戏软件时弹出警告窗口,并截图保存。学会这项技能,就再也不怕孩子偷偷打游戏了。下面给大家介绍一下详细过程。

第一步:循环查询电脑所有进程,并与游戏进程匹配

1).本文以steam为例,打开任务管理器(Ctrl+Alt+Delete),在详细信息栏我们可以找到steam的进程名字Steam.exe

2).然后用python的第三方模块psutil获取系统信息,只需一行代码就可以调取电脑的所有进程

代码语言:javascript
复制
import psutil
pl = psutil.pids()

再与steam.exe做对比,如果匹配到则进入第二步,否则一直循环查询进程

代码语言:javascript
复制
for pid in pl:
    if psutil.Process(pid).name()==ProcessName:
        get_desk()
        Warnning()

2

设计一个弹出对话框

第二步:当匹配上之后,弹出提醒框

这一步实现的方法有很多,本文利用win32api模块弹出窗口,主要是提醒,给孩子一个主动改正错误的机会,哈哈

代码语言:javascript
复制
def Warnning():
    win32api.MessageBox(0, "别打游戏,我看着你呢",
                        "提醒", win32con.MB_ICONWARNING)

效果如下:

这个框是关不掉的,如果关掉,会马上重新弹出来,只有把steam关掉,系统查不到该进程的时候,才会消失,但再打开steam又会重新弹出来。

3

截图保存

第三步:截图保存

教育孩子仅仅提醒是不够的,还要让孩子心服口服,所以这一步要在steam被打开时调用截图功能,并以时间戳命名,每关闭一次上一步弹出的小窗口,就会截1张图保存

当发现游戏进程时,用win32gui调用桌面,并设置好分辨率,创建设备描述表和内存设备描述表,截图至内存设备描述表,最后将截图保存在当前文件夹里。

你以为这就万事大吉了吗?当然不是啦,你以为孩子每次玩游戏之前会先帮你运行程序吗?那是不可能的,来看看下面怎么办吧。

4

程序打包成exe文件

第四步:将程序文件打包成exe文件

我的想法是把程序先打包成可执行的exe文件,python有现成的模块pyinstaller,在pycharm里可以直接安装,安装完成后打开Win+R,输入cmd打开命令窗口,直接输入

打码的是代码文件地址,记住一定要加-w,不加-w运行程序的时候会弹出命令窗口,那就尴尬了。运行成功后,会提示生成exe文件的位置

5

设计成自动开机

第五步:将生成的exe文件设置成开机自启动

这步比较简单,WIN+R输入shell:startup

将生成的exe文件复制进去

这样一来,每次开电脑的时候这个程序就会偷偷运行,只要一打开steam软件就会弹出警告窗口并截图,但是在其他下是不启用此功能的,让我们一起看看效果吧。

视频展示

http://mpvideo.qpic.cn/0bf23aaaaaaa7uantky5obpfbwgdadmaaaaa.f10002.mp4?dis_k=b4af9db35470a9a876907f569ec932d8&dis_t=1582268385

作者:鸟哥

来源:菜鸟学Python

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档