今天这个小工具就方便了。结合到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文件。
网友评论