【pynput】监控是否打开百度贴吧网页

文章目录

  • 简介
  • Demo

简介

有网友提过一个要求,用 Python 实现一个 电脑打开某网站就自动关机的功能。

想到的思路有两个:

【windows 平台】, 获取活动的窗口标题,如果标题里包含了某些网站名称, 那就使用关机命令 可以定时拉取标题, 也可以使用 pynput 监听鼠标点击,再获取 【本文就是这个实现】

还有一种就是监控网络状态 netstat 检索特定的 ip 地址, 如果有,则调用关机命令,需要事先知道网站的IP地址才行

Demo

说来也巧,这两天正好在学习 pynput、pyautogui 自动化方面的知识,tk 也轻微了解,正好拿来练手。

关机功能就用信息框的形式来代替,看看效果就行,关机就看不了啦 😄

pyautogui 的对话框不能完美置顶,最后不得不用 tkinter 来实现界面。

鼠标点击的时候,检查当前活动窗口的标题是否包含 ‘百度贴吧’ 这几个汉字,如果有,就显示一个提示。

效果图:
在这里插入图片描述

# 【鼠标右键退出程序】
import os
import pyautogui
from pynput import mouse
from tkinter import Tk, Label, StringVarisShowing = Falsedef on_click(x, y, button, pressed):global isShowingif button == mouse.Button.right:# Stop listenerwindow.destroy()listener.stop()return Falsewin = pyautogui.getActiveWindow()if win and '百度贴吧' in win.title:func(x, y, '百度贴吧')else:isShowing = Falsewindow.geometry('0x0')def func(x, y, txt):global isShowingif not isShowing:isShowing = Truewindow.textvar.set(f'你正在浏览{txt}')if useShutdown:os.system('start /b shutdown -s -t 0')else:window.geometry(f'300x37+{x+10}+{y+10}')else:window.geometry(f'+{x+10}+{y+10}')class MT(Tk):def __init__(self):super().__init__()# self.geometry('0x0')self.attributes('-topmost', 'true')self.overrideredirect(1)self.textvar = StringVar()label = Label(self, textvariable=self.textvar, foreground='red', background='black', width=280)label.pack()if __name__ == '__main__':listener = mouse.Listener(on_click=on_click)listener.start()useShutdown = Falsewindow = MT()window.mainloop()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542294.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

世上最全Python学习思路

孤客python学习思路 python学习从入门到精通前言 预备知识Python简介程序设计思想导入python资源包用户体验模块获得A和B的能力值与场次模块模拟n局比赛模块判断比赛结束条件模拟n次单局比赛模拟n局比赛打印结果模块 安装Python运行方式常用开发工具编码规范模块管理 python学习…

通付盾Web3专题 | SharkTeam:2023年加密货币犯罪分析报告

2023年,Web3行业共经历了940多起大大小小的安全事件,同比2022年增长了超过50%,损失金额达到17.9亿美元。其中,第三季度发生的安全事件最多(360起),损失最大(7.4亿美元)&a…

新品牌推广怎么做?百度百科创建是第一站

创业企业的宣传推广怎么做?对于初创的企业、或者品牌来说,推广方式都有一个循序渐进的过程,但多数领导者都会做出同一选择,第一步就是给自己的企业创建一个百度百科词条。在百度百科建立自己的企业、或产品词条,不仅可以树立相关信…

【论文阅读笔记】Attention Is All You Need

1.论文介绍 Attention Is All You Need 2017年 NIPS transformer 开山之作 回顾一下经典,学不明白了 Paper Code 2. 摘要 显性序列转导模型基于包括编码器和解码器的复杂递归或卷积神经网络。性能最好的模型还通过注意力机制连接编码器和解码器。我们提出了一个新…

量子计算机上的药物设计

文章目录 摘要正文量子计算现状挑战与前景展望 摘要 量子计算机的工业应用通常取决于其执行准确、高效量子化学计算的预期能力。计算药物发现依赖于对候选药物在有限温度下涉及数千个原子的细胞环境中如何与其靶标相互作用的准确预测。尽管量子计算机还远未被用作制药行业的日…

【Git】本地仓库关联远程仓库

Git 本地项目关联远程仓库 本地 本地已有项目 ● 项目 07.GitLocalTest 包含有一个js ○ test.js 远程仓库 ● 远程仓库地址 ○ https://github.com/Sonnenlicht77/gitTest.git ○ 仓库只有一个 readme.md 关联 1.本地 1.1 本地仓库 ● git init ● git add . ● gi…

免费升级https的方式(含教学)

背景:随着现在全民网络安全意识的日益提升,各个网站实现的https数量也随之提升,那么如何将原本网站的http访问方式升级为https呢?下面均为干货内容。 目录 http访问和https访问的区别: 实现https后有哪些好处&#x…

智慧城市物联网建设:提升城市管理效率与居民生活品质

目录 一、智慧城市物联网建设的意义 1、提升城市管理效率 2、改善居民生活品质 3、促进城市可持续发展 二、智慧城市物联网建设面临的挑战 1、技术标准与互操作性问题 2、数据安全与隐私保护问题 3、投资与回报平衡问题 三、智慧城市物联网建设的实施策略 1、制定统一…

UDF提权

目录 一、UDF概述 二、提权条件 三、漏洞复现 (一) 信息收集 1. Nmap信息收集 1.1、查看当前IP地址 1.2、扫描当前网段,找出目标机器 1.3、快速扫描目标机全端口 2. dirb目录扫描 3. 第一个flag 3.1、目录遍历漏洞 3.2、flag 4. 敏感信息利用 (二) 漏…

Redis:ClassCastException【bug】

Redis:ClassCastException【bug】 前言版权Redis:ClassCastException【bug】错误产生相关资源控制器:UserController("/user")配置:RedisConfiguration实体类:User数据表:User 解决 最后 前言 2…

Linux从0到1——Linux第一个小程序:进度条

Linux从0到1——Linux第一个小程序&#xff1a;进度条 1. 输出缓冲区2. 回车和换行的本质3. 实现进度条3.1 简单原理版本3.2 实际工程版本 1. 输出缓冲区 1. 小实验&#xff1a; 编写一个test.c文件&#xff0c;&#xff1a; #include <stdio.h> #include <unistd.h…

记录一次难搞的编译错误-- qml-rust 项目编译无法找到QtCore库的问题

记录一次难搞的编译错误-- qml-rust 项目编译时无法找到QtCore库的问题 背景开始处理问题1 看日志找关键点2 写最简单测试用例3 写最简单CMake编译的Qt4 发现问题5 开始处理错误过程 1过程2过程3 反思开始找资料&#xff0c;解决自己的困惑。第二次开始解决问题第三次解决问题总…