如何用Python给游戏加防沉迷

又名:我杀我自己

重点参考

【实战案例】利用Python做出趣味版防沉迷小程序
Python3.7将代码打包成exe程序并添加图标,一分钟学会!

代码

#这是一个防沉迷程序import psutil
import os
import tkinter
import tkinter.messagebox
import timeclass Regulation:def __init__(self):self.ban_week=[i for i in range(1,6)]  #周一至周五self.ban_hour=[i for i in range(15)]   #凌晨至下午2点self.allow_duration=2 #可连续在线2小时self.t_interval=60 #每隔60s监测一次self.start_time={'hour':99,'minute':99} #记录开始游戏的时间self.current_time={'hour':0,'minute':0} #记录当前时间self.week=0 #记录当前星期def show_warning(self):root = tkinter.Tk()root.withdraw() #为了隐藏tk窗口root.wm_attributes('-topmost',1) #显示在最上层tkinter.messagebox.showinfo('警告','垃圾!!!!!') #我骂我自己def show_remind(self):root = tkinter.Tk()root.withdraw()root.wm_attributes('-topmost',1)tkinter.messagebox.showinfo('提醒','已经游戏两小时,请于5分钟内退出')def get_time(self):self.week=int(time.strftime('%w'))self.current_time['hour']=int(time.strftime('%H'))self.current_time['minute']=int(time.strftime('%M'))def record_start_time(self):self.start_time['hour']=self.current_time['hour']self.start_time['minute']=self.current_time['minute']def judge_time(self):d_hour=self.current_time['hour']-self.start_time['hour']d_minute=self.current_time['minute']-self.start_time['minute']if d_hour>=self.allow_duration:if d_minute>=0: #已达到可允许时长self.show_remind()if d_minute>=5: #数次提醒无效,强制退出self.exit()def exit(self):cmd = 'taskkill /F /IM YuanShen.exe'os.system(cmd) #杀死进程YuanShen.exe(这游戏该死的好玩),可更换为其他self.show_warning()           def judge(self):pids = psutil.pids() #获取当前所有进程self.get_time()for pid in pids:p = psutil.Process(pid)if p.name() == 'YuanShen.exe': #监测有无运行游戏,可更换为其他if self.week in self.ban_week:self.exit()elif self.current_time['hour'] in self.ban_hour:self.exit()else:if self.start_time['hour']==99:self.record_start_time() #首次监测到游戏,记录时间self.judge_time()if __name__=='__main__':R=Regulation()while True:R.judge()time.sleep(R.t_interval) #监视官需要休息#打包为.exe文件
#1.打开CMD
#2.准备一个.ico文件作为图标
#  可在线将.png转换为.ico,链接:https://www.easyicon.net/covert/
#3.输入 pyinstaller -F -w -i D:\xxx\.xxx.ico D:\xxx\xxx.py
#  运行成功会提示.exe文件位置
#4.可设为开机自启,WIN+R输入shell:startup,将.exe文件放入文件夹
#  倒也不必,会拖慢开机时间#此程序运行无窗口,需从任务管理器中结束运行

如何用Python做一个游戏防沉迷程序相关推荐

  1. 如何用python做一个游戏主播_做一个游戏主播有多难?

    我想不到这回答会被很多人看见,起初只是看到问题,作为一个旁观者的角度回答的.我描述事情,这个人怎么样是你们来评论,每个人有不一样的看法,我不会回复的,不要私信我了,谢谢. 以下原回答 虎牙的一位主播 ...

  2. 如何用Python做一个三阶拼图?

    转载自品略图书馆 http://www.pinlue.com/article/2020/08/0911/3411120197743.html 用python做一个三阶拼图 程序介绍 先上图让大家感受一 ...

  3. [Python] 用python做一个游戏辅助脚本,完整思路

    [Python] 用python做一个游戏辅助脚本,完整思路 一.说明 简述:本文将以4399小游戏<宠物连连看经典版2>作为测试案例,通过识别小图标,模拟鼠标点击,快速完成配对.对于有兴 ...

  4. 如何用python做一个会聊天的女朋友_戏精程序员,用python开发了一个女朋友,天天秀恩爱...

    很多人都知道,程序员大部分都是单身狗,然而,无奈Python实在太强大,居然可以用来开发一个女朋友出来. 其实,这个女朋友类似很多视频中,那些假装自己有女朋友或男朋友的人一样,也是在假装哦,但是程序员 ...

  5. 如何用 Python 做一个简单的翻译工具?

    前言 平时经常在网上翻译一些单词,突发奇想,可不可以直接调某些免费翻译网站的接口呢?然后做一个图形界面的翻译小工具?下面开始实践 (文末送读者福利) 1.先找一下有哪些免费翻译的接口 百度了一下关键字 ...

  6. 如何用python做一个简单的输入输出交互界面?

    大家好,我是一行 想问下你写的程序怎么分享给别人使用? **直接发代码!**那不会代码的人岂不是得抓瞎 **那做成网站或者微信小程序!**时间成本太高了,更何况服务器又是一笔成本,后期可能还得不断维护 ...

  7. 用python做一个随机点名程序(不重复点名)

    用python做一个简单的随机点名程序(不重复点名) 这是我来到csdn的第一篇文章,内容如果有瑕疵的地方或者代码可以进一步改善,请大家对我指点一二.谢谢! 废话不多说,上代码! import ran ...

  8. 【Python】如何用python做一个简单的输入输出交互界面?

    看到知乎上有人在问,如何使用Python做一个简单的输入输出交互界面? 交互界面就涉及到GUI编程. Python有很多GUI框架,功能大同小异. 其中比较出名的有「PyQT」.**wxPython. ...

  9. 不愧是大佬用Python做一个游戏辅助脚本,完整编程思路分享!

    一.说明 简述:本文将以4399小游戏< 宠物连连看经典版2 >作为测试案例,通过识别小图标,模拟鼠标点击,快速完成配对.对于有兴趣学习游戏脚本的同学有一定的帮助.文末有Python资料和 ...

最新文章

  1. SSH整合框架+mysql简单的实现
  2. QMouseEvent
  3. 如何在零停机的情况下迁移 Kubernetes 集群
  4. 如何在Linux终端里用Shell和C输出带颜色的文字
  5. MapReduce_自学过程(一)
  6. sublime text 常用快捷键
  7. java设计模式之责任链模式以及在java中作用
  8. iOS开发Objective-C基础之──多态
  9. 初学编程,你必须要打牢的几根“支柱”,地基越稳,成就越高!
  10. 【JVM】第一章 JVM体系结构
  11. java模块详解_Spring之IOC核心模块详解
  12. SAP License:SAP学习笔记
  13. visualbox 安装 ubuntu 18.04 后续操作:设置ip、换源、安装LAMP、phpmyadmin
  14. autojs刷网课之一、刷视频篇
  15. vue+video.js实现前端视频流(hls、MP4、flv)
  16. 《FLUENT 14流场分析自学手册》——1.4 流体运动及换热的多维方程组
  17. 3GP转换器 Pro 3.5
  18. 同义词(近义词)算法总结(附代码)
  19. svn 安装教程 TortoiseSvn
  20. UVA - 10400 Game Show Math

热门文章

  1. python博客园_python3 模拟博客园登录
  2. python中列表、元组和字典、字符串的方法汇总
  3. 解决终端输出乱码问题
  4. 直播平台系统源码APP怎样来检测
  5. 6个Excel使用小技巧
  6. 设计模式03:装饰模式
  7. datawhale二手车数据挖掘项目学习task2
  8. mkdir c语言 头文件,mkdir和chdir函数讲解.doc
  9. 二次开发免授权开心版彩虹易支付最新支付源码
  10. 机器人总动员片尾曲歌词_英语歌曲 ||《机器人总动员》Put on Your Sunday Clothes