用pywinhook或pyhook监听鼠标事件

一位在读研的好朋友有一天找到我,问我制作PC端软件有啥好的语言,我问:“这是咋了?”,朋友答曰:在实验室电脑前总是不知不觉开始摸鱼,自制力不够,想搞个提醒学习的东西,在摸鱼时弹出自己的学习计划,提醒自己做点正事(巴巴托斯躺枪ing)。

我寻思这不我copy 写个python程序就行了。朋友提出更具体的功能需求:鼠标移动到屏幕外的时候会丝滑地出现一个小窗口,比如移动到右上角会出现一张自己设置的图片,从而时时刻刻提醒自己有什么样的ddl。

之后,通过我一番面向搜索引擎编程,做出:使用pyhook监听鼠标事件,当鼠标移动到显示器左上角,3乘以3像素的范围内,系统会打开同目录下“bananabaozi-notice.txt”文件,总共最多能打开三次,除非再关掉一个txt窗口,就可以再打开一次。朋友可以通过这个txt写下ddl从而时不时把鼠标晃到左上角猛地看到ddl然后停止摸鱼行为开始认真学习。当然效果怎么样俺也不知道,待会问问去。

代码贴在下面。我使用win10 64位、python3.8开发,在这之前要pip安装pywin32和pyHook。
在网上搜安装pyhook库死活装不上,于是找到安装pywinhook的办法,使用import pyWinhook as pyHook还是用上了pyhook。然后再搜一下使用pyinstaller打包py程序为exe,且exe打开后隐藏黑窗口,就完事了。

# -*- coding: utf-8 -*-
import pyWinhook as pyHook
import pythoncom
import os,sys
import win32gui
import win32api, win32con
from win32com.client import GetObject

hWndList = []
flag = 0
def onMouseEvent(event):
    global flag
    global hWndList
    # 监听鼠标事件
    # if event.Position == (0, 0): 区域放大点好了
    if event.Position[0] < 3 and event.Position[1] < 3 and flag == 0:
        flag = 1
        win32gui.EnumWindows(lambda hWnd, param: param.append(hWnd)
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值