陈布衣 发表于 2023-1-15 21:35:55

【VB.NET】不停叫你的闹钟

本帖最后由 陈布衣 于 2023-2-1 20:53 编辑

先祝大家新年快乐(如果你过农历新年的话)。

布衣的公司放年假了,我要在安全屋休息13天,基本也就是对着屏幕13天。
为了让自己不要盯太久屏幕,我写了个小软件来折磨自己(

它的功能是根据设定好的提醒间隔,时间一到就不停地每秒发出系统自带的提示音(Beep 和 Hand)。
需要手动点“重置计时器”,提示音才会停止。下一次循环就会开始。
如果把窗口直接关闭,它只是会退到任务栏小图标那。
软件会在目录下生成一个 txt ,用来存储上次使用的时间间隔。

现在我用这个,听到提示音的时候,我就会站起来看看窗外,看几十秒再继续使用屏幕。
如此,40分钟一个循环(
不想近视... 好烦... 感觉已经太迟了,加上在公司上班忙的时候也根本没法这样定时放松眼睛。

布衣使用的图标都是 Windows 自带的,在等待的时候是 Shield 图标,在时间到了之后,使用的是 Warning 和 Error 图标(闪烁)。





软件是用 VB.NET 写的,运行需要 .NET Framework 4.7.2 (Windows 10 1803 及以上版本都已经自带)。
(其实我想过用 VB6 来写,但是想想还是放弃了,太久没有写已经不会了)


2023年2月1日更新:
修复了电脑时间变回过去的时候,等待时间反而变长的BUG,解决办法是就地报警。
修复了在 Linux Wine 运行的时候,最小化窗口会直接消失还没法恢复的 BUG 。解决办法是检测到 Wine 运行时,窗口显示的时候就在任务栏内显示出来。

源码下载:
(压缩包内也带了一个我编译好的 exe)

Golden Blonde 发表于 2023-1-16 03:02:38

我这几天闲得蛋疼,把手机里几个比较好用的时间功能在电脑上实现了一次。


主体代码全部都是眼见功夫没有任何技术含量,我感觉对初学者稍微有点价值的是把N秒钟转换为HH:MM:SS的形式。
    Dim v As Long, vv As Long, p1 As String, p2 As String, p3 As String
    v = 任意秒数: vv = v Mod 3600
    p1 = CStr(v \ 3600): p1 = IIf(Len(p1) = 1, "0" & p1, p1)
    p2 = CStr(vv \ 60): p2 = IIf(Len(p2) = 1, "0" & p2, p2)
    p3 = CStr(vv Mod 60): p3 = IIf(Len(p3) = 1, "0" & p3, p3)
    输出 = p1 & ":" & p2 & ":" & p3

tlwh163 发表于 2023-2-14 22:28:38

把秒数转换为时间 然后就是格式化输出

tlwh163 发表于 2023-2-14 22:29:52

好像是 dateadd?
页: [1]
查看完整版本: 【VB.NET】不停叫你的闹钟