欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-27 20:19:43
用Python循环检测电脑软件的运行情况,当发现游戏软件时弹出警告窗口,并截图保存。学会这项技能,就再也不怕孩子偷偷打游戏了。下面给大家介绍一下详细过程。 第一步: 循环查询电脑所有进程,并与游戏进程匹配 1).本文以steam为例,打开任务管理器(Ctrl+Alt+Delete),在详细信息栏我们 ......

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

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

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

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

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

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

import psutil
pl = psutil.pids()

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

for pid in pl:
if psutil.process(pid).name()==processname:
get_desk()
warnning()

设计一个弹出对话框

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

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

def warnning():
win32api.messagebox(0, "别打游戏,我看着你呢",
"提醒", win32con.mb_iconwarning)

效果如下:

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

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

截图保存

第三步: 截图保存

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

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

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

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

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

程序打包成exe文件

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

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

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

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

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

设计成自动开机

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

这步比较简单,win+r输入shell:startup

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

将生成的exe文件复制进去

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

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