前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:鸟哥

PS:如果想了解更多关于python的应用,可以私信小编,资料都是免费的

今天小编就带领大家来做一个防止孩子玩游戏的Python小程序。

查询电脑的所有进程

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

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

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

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

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

设计一个弹出对话框

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

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

效果如下:

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

截图保存

第三步:截图保存

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

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

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

程序打包成exe文件

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

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

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

设计成自动开机

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

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

将生成的exe文件复制进去

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

学会这项python技能,就再也不怕孩子偷偷打游戏了的更多相关文章

  1. 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

    原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...

  2. Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字

    想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...

  3. 小学生都能学会的python(闭包和迭代器)

    小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). ...

  4. 小学生都能学会的python(函数的进阶)

    小学生都能学会的python(函数的进阶) 1. 动态传参 形参: 1. 位置参数 2. 默认值参数 3. 动态传参 *args 动态接收位置参数 **kwargs 动态接收关键字参数 def fun ...

  5. 小学生都能学会的python(函数)

    小学生都能学会的python(函数) 神马是函数 函数: 对功能或者动作的封装 函数的定义 def 函数名(形参列表): 函数体(return) ret = 函数名(实参列表) 函数的返回值 retu ...

  6. 小学生都能学会的python(文件操作)

    小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...

  7. 小学生都能学会的python(深浅拷贝)

    小学生都能学会的python(深浅拷贝) join() 把列表中的每一项用字符串拼接起来 # lst = ["汪峰", "吴君如", "李嘉欣&quo ...

  8. 小学生都能学会的python(小数据池)

    小学生都能学会的python(小数据池) 1. 小数据池. 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存:int, str, bool. int: 缓存范围 -5~256 ...

  9. 小学生都能学会的python(字典{ })

    小学生都能学会的python(字典{ }) 1. 什么是字典 dict. 以{}表示. 每一项用逗号隔开, 内部元素用key:value的形式来保存数据 {"jj":"林 ...

随机推荐

  1. django缓存和跨域解决和短信验证码的使用

    缓存 在实际项目中,存在大量的数据检索,比如我们刷微博的时候,刚开始加载速度慢一点,然后第一次加载完毕之后,如果你此时的手机没有网络,但是你发现你的微博还是可以照样刷,但是刷到一定的页面就走不动了,那 ...

  2. hdu1072 逃离迷宫系列 bfs

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1072/ 题意:逃离迷宫,路中可能有炸弹,总时间是6个单位,在有炸弹的位置,如果到达的时刻时间大于0,则恢复到6时 ...

  3. Vmware15.5安装与许可教程

    最近Windows总是提醒我1803版本的服务即将过期,劝我升级到最新版.可我在自动安装的过程中却总是安装失败.于是官网下载了更新助手.检测到的问题是升级过程和 Vmware 软件冲突,于是卸载了 V ...

  4. vue基础指令学习

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. C 2010年笔试题

    1 有一个函数, 写一段程序,输入的值,输出的值. #include <stdio.h> void main() { int x,y; printf("输入x:"); ...

  6. iOS 启动时间优化

    在 WWDC 2016 上首次提到了关于 App 应用启动速度优化的话题:Session 406 Optimizing App Startup Time. 一.冷启动与热启动 热启动是,APP会恢复之 ...

  7. 一次作业过程及其问题的记录:mysql建立数据库、建表、查询和插入等

    前言 这次的作业需要我建立一个小的数据库. 这次作业我使用了mysql,进行了建库.建表.查询.插入等操作. 以下是对本次作业相关的mysql操作过程及过程中出现的问题的记录. 正文 作业中对数据库的 ...

  8. Java内存模型和ConcurrentHashMap 1.7源码分析

    简介 ConcurrentHashMap 是 util.concurrent 包的重要成员.本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体 ...

  9. Excel决定吃什么

    1.Excel填充 在第一列填充1到100 (1)下拉填充 (2)填充——自动填充——序列 2.第二列加权填上自己吃的午饭 3.vloopup函数(列查找) 几乎都使用精确匹配,该项的参数一定要选择为 ...

  10. MyBatis 学习笔记(1)

    MyBatis 的基本构成 SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成 SqlSessionFactory(工厂接口) SqlSessionFactor ...