美文网首页Python
python win10toast实现时间和按键的提醒小工具

python win10toast实现时间和按键的提醒小工具

作者: 刘小白DOER | 来源:发表于2021-12-10 21:01 被阅读0次

        今天这个小工具就方便了。结合到tqdm和win10toast结合完成进度通知,笔者就想着使用toast来完成电脑的小提醒,辅助一下日常办公。本来想着在内网电脑上使用toast来完成特定热为奴提醒,但是研究一番发现win7电脑不能使用win10toast,但是github上有一些直接调用windows api来完成同样的功能,测试一番发现有很多问题。最后直接在自己的win10笔记本上来做个小提醒。

        这个工具主要有三个部分:一个功能就是根据特定时间time_list发一个toast通知,提醒休息片刻。同时笔者的笔记本的Num_Lock和Caps_Lock键没有背光,每次按下时都不知道到底是否开启大写或者开启数字键盘。使用win32api.GetKeyState来读取按键的bool值,按下时进行toast提醒。

        代码托管在python/win10toast_time.py at main · laufei90/python (github.com)

        笔者封装了三个函数:toast通知,获取Caps Lock键状态,获取Num Lock键状态。

    # toast通知

    def time_toast(head,content):

        toaster = ToastNotifier()

        toaster.show_toast(head,content,duration=4)

    # 获取Caps Lock键状态

    def get_Caps_Lock_status():

        return win32api.GetKeyState(win32con.VK_CAPITAL)

    # 获取Num Lock键状态

    def get_Num_Lock_status():

        return win32api.GetKeyState(win32con.VK_NUMLOCK)

        最后在while循环中,根据按键状态发送toast通知,标记标量来进行按键状态切换的判断。在测试时,笔记最开始将循环的延时时间设置为0.1秒,每次切换时有时会出现两次的通知,估计是系统的机理原理。不去深究,笔者直接将延时调整为0.5秒后就测试正常了。

        在循环中不断读取本地电脑的时间,判断时间是否在time_list中来进行休息通知。能够自定义的解决自己的需求真是一件快乐的事情!海里的知识让人感觉到藐小、贫弱,但是应用会感到满足!

        最后记得放置到开机启动哦。关于脚本在windows平台下开机启动,比linux复杂许多,笔者是将启动脚本放置于bat批处理中,然后将startup文件夹下的vbs文件中来执行bat文件。

    相关文章

      网友评论

        本文标题:python win10toast实现时间和按键的提醒小工具

        本文链接:https://www.haomeiwen.com/subject/kekhfrtx.html