写了个Python小工具,再也不怕孩子偷偷玩电脑游戏啦
用python循环检测电脑软件的运行情况,当发现游戏软件时弹出警告窗口,并截图保存。学会这项技能,就再也不怕孩子偷偷打游戏了。下面给大家介绍一下详细过程。
第一步: 循环查询电脑所有进程,并与游戏进程匹配
1).本文以steam为例,打开任务管理器(ctrl+alt+delete),在详细信息栏我们可以找到steam的进程名字steam.exe
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)
效果如下:
这个框是关不掉的,如果关掉,会马上重新弹出来,只有把steam关掉,系统查不到该进程的时候,才会消失,但再打开steam又会重新弹出来。
截图保存
第三步: 截图保存
教育孩子仅仅提醒是不够的,还要让孩子心服口服,所以这一步要在steam被打开时调用截图功能,并以时间戳命名,每关闭一次上一步弹出的小窗口,就会截1张图保存
当发现游戏进程时,用win32gui调用桌面,并设置好分辨率,创建设备描述表和内存设备描述表,截图至内存设备描述表,最后将截图保存在当前文件夹里。
你以为这就万事大吉了吗?当然不是啦,你以为孩子每次玩游戏之前会先帮你运行程序吗?那是不可能的,来看看下面怎么办吧。
程序打包成exe文件
第四步: 将程序文件打包成 exe 文件
我的想法是把程序先打包成可执行的exe文件,python有现成的模块pyinstaller,在pycharm里可以直接安装,安装完成后打开win+r,输入cmd打开命令窗口,直接输入
打码的是代码文件地址,记住一定要加-w,不加-w运行程序的时候会弹出命令窗口,那就尴尬了。运行成功后,会提示生成exe文件的位置
设计成自动开机
第五步: 将生成的exe文件设置成开机自启动
这步比较简单,win+r输入shell:startup
将生成的exe文件复制进去
这样一来,每次开电脑的时候这个程序就会偷偷运行,只要一打开steam软件就会弹出警告窗口并截图,但是在其他下是不启用此功能的,让我们一起看看效果吧。