小弟受惠于小众…所以也发于小众
小弟为了各位大佬的健康不要久坐
所以弄了个小AHK各位大佬…试试
说明:
1.可自行修改时间
2.可自行暂停.停止
3.字形.字体大小皆可修改
4.音效档及EXE档皆上传云端可自行下载
5.不再更新啦…小弟功力有限
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
#Persistent
; ************************************************************
; 久坐提醒&走动提醒 - 倒数窗口可拖曳 + 自动置中 + 等待「确定」才进行下一阶段
; (AHK v1)
; ************************************************************
;==== 初始工作 / 休息时间 (分钟) ===============================
SitInterval := 30
WalkInterval := 8
AudioFile := "D:\QQ.wav" ; 可换成你实际的绝对路径
;=============================================================
; 当前模式 ("Sit" 或 "Walk") / 倒数计时剩余秒数
currentMode := "Sit"
timeLeft := SitInterval * 60
timerRunning := false ; 一开始为停止状态
; ------------------------------------------------------------
; 「倒数窗口」(GUI2) &「提醒窗口」(GUI3) 外观
; ------------------------------------------------------------
CountFontSize := 24 ; 倒数字体大小(缺省 24)
CountFontColor := "Red" ; 倒数字体颜色(缺省 红色)
CountTransLvl := 230 ; 倒数窗口透明度 (1~255)
RemindFontSize := 30 ; 提醒文本大小(缺省 30)
RemindFontColor := "Blue" ; 提醒文本颜色(缺省 蓝色)
; ------------------------------------------------------------
; 创建「主设置窗口」(GUI1)
; ------------------------------------------------------------
Gui, +AlwaysOnTop +ToolWindow
; 1) 模式
Gui, Font, s18, GenSenRounded JP
Gui, Add, Text, x10 y10 w220 h30 vModeText, 模式:工作
; 2) 剩余时间
Gui, Font, s20, GenSenRounded JP
Gui, Add, Text, x10 y50 w220 h30 vCountdownText, 剩余时间:%SitInterval%:00
; 3) 三个按钮 (开始、暂停、停止)
Gui, Font, s14, GenSenRounded JP
Gui, Add, Button, x10 y90 w60 h30 gStart, 开始
Gui, Add, Button, x80 y90 w60 h30 gPause, 暂停
Gui, Add, Button, x150 y90 w60 h30 gStop, 停止
; 4) 「设置计时」区块
Gui, Add, GroupBox, x10 y130 w230 h90, 设置计时
Gui, Add, Button, x180 y130 w60 h25 gApplyTimes, 套用
; (a) 工作(坐)时间
Gui, Font, s12
Gui, Add, Text, x20 y165 w120 h25, 工作(坐)时间:
Gui, Add, Edit, x150 y162 w40 +Right vEditSitInterval, %SitInterval%
Gui, Add, Text, x200 y165, 分
; (b) 休息(走动)时间
Gui, Add, Text, x20 y193 w120 h25, 休息(走动)时间:
Gui, Add, Edit, x150 y190 w40 +Right vEditWalkInterval, %WalkInterval%
Gui, Add, Text, x200 y193, 分
; ------------------------------------------------------------
; 「外观设置」区块:可调整「倒数窗口」(GUI2) &「提醒窗口」(GUI3)字体大小、颜色、透明度
; ------------------------------------------------------------
Gui, Add, GroupBox, x10 y230 w230 h160, 外观设置
; -- 倒数窗口
Gui, Add, Text, x20 y250, 倒数字体大小:
Gui, Add, Edit, x120 y247 w30 vCountFontSizeEdit, %CountFontSize%
Gui, Add, Text, x20 y280, 倒数字体颜色:
Gui, Add, Edit, x120 y277 w50 vCountFontColorEdit, %CountFontColor%
Gui, Add, Text, x20 y310, 窗口透明度:
Gui, Add, Slider, x120 y305 w80 vCountTransSlider Range1-255 AltSubmit, %CountTransLvl%
; -- 提醒窗口
Gui, Add, Text, x20 y340, 提醒字体大小:
Gui, Add, Edit, x120 y337 w30 vRemindFontSizeEdit, %RemindFontSize%
Gui, Add, Text, x20 y370, 提醒字体颜色:
Gui, Add, Edit, x120 y367 w50 vRemindFontColorEdit, %RemindFontColor%
; -- 按钮:套用外观
Gui, Add, Button, x160 y225 w80 h30 gApplyAppearance, 外观套用
; 显示主窗口 (GUI1)
Gui, Show, w260 h440, 久坐提醒 (主窗口)
; ------------------------------------------------------------
; 创建「倒数窗口」(GUI2)
; ------------------------------------------------------------
; +Caption => 显示标题列,可鼠标拖动
; -MinimizeBox / -MaximizeBox => 移除最小化 / 最大化按钮
Gui, 2:+AlwaysOnTop +ToolWindow +Caption -MinimizeBox -MaximizeBox
Gui, 2:Font, s%CountFontSize% c%CountFontColor%, GenSenRounded JP
; 让文本占满窗口 + 置中
Gui, 2:Add, Text, x0 y0 w240 h70 +Center +0x200 vCountDownOnlyText, --:--
; 初始不显示,等按「开始」后才 Show
; ------------------------------------------------------------
; 每秒更新倒数
; ------------------------------------------------------------
SetTimer, UpdateTimer, 1000
return
; ------------------------------------------------------------
; [UpdateTimer]:每秒更新倒数
; ------------------------------------------------------------
UpdateTimer:
if (timerRunning)
{
timeLeft -= 1
if (timeLeft <= 0)
{
PlayReminderSound()
; 先暂停计时,弹出提醒窗口
timerRunning := false
if (currentMode = "Sit")
{
ShowReminder("久坐提醒", "您已经连续坐了 " . SitInterval . " 分钟,起来活动一下吧!")
}
else
{
ShowReminder("走动提醒", "您已经走动了 " . WalkInterval . " 分钟,可以回到工作啰!")
}
}
else
{
; 正常倒数时,更新画面
ShowCountdown()
}
}
return
; ------------------------------------------------------------
; [ShowCountdown]:更新主窗口 & 倒数窗口的剩余时间文本
; ------------------------------------------------------------
ShowCountdown()
{
global timeLeft, currentMode
min := Floor(timeLeft / 60)
sec := Mod(timeLeft, 60)
countdown := Format("{:02}:{:02}", min, sec)
GuiControl,, CountdownText, % "剩余时间:" . countdown
GuiControl,, ModeText, % "模式:" . (currentMode = "Sit" ? "工作" : "走动")
GuiControl, 2:, CountDownOnlyText, % countdown
Menu, Tray, Tip, % "模式:" . (currentMode="Sit" ? "工作 " : "走动 ") . countdown
}
; ------------------------------------------------------------
; [Start]: 开始 → timerRunning = true, 并显示「倒数窗口」
; ------------------------------------------------------------
Start:
timerRunning := true
; 主窗口推到底层
WinSet, Bottom,, A
; 显示倒数窗口
Gui, 2:Show, x400 y200 w240 h70, 倒数窗口
WinSet, Transparent, %CountTransLvl%, 倒数窗口
ShowCountdown() ; 立即更新显示
return
; ------------------------------------------------------------
; [Pause]: 暂停 / 继续 (切换)
; ------------------------------------------------------------
Pause:
timerRunning := !timerRunning
return
; ------------------------------------------------------------
; [Stop]: 停止并重置
; ------------------------------------------------------------
Stop:
timerRunning := false
currentMode := "Sit"
timeLeft := SitInterval * 60
GuiControl,, ModeText, 模式:工作
GuiControl,, CountdownText, 剩余时间:%SitInterval%:00
Menu, Tray, Tip, 久坐提醒
Gui, 2:Hide
return
; ------------------------------------------------------------
; [ApplyTimes]: 套用工作 / 休息时间
; ------------------------------------------------------------
ApplyTimes:
Gui, Submit, NoHide
if (EditSitInterval < 1)
EditSitInterval := 1
if (EditWalkInterval < 1)
EditWalkInterval := 1
SitInterval := EditSitInterval
WalkInterval := EditWalkInterval
currentMode := "Sit"
timeLeft := SitInterval * 60
timerRunning := false
GuiControl,, ModeText, 模式:工作
GuiControl,, CountdownText, 剩余时间:%SitInterval%:00
Menu, Tray, Tip, 久坐提醒
MsgBox, 262208, 更新完成, 工作(坐)时间:%SitInterval% 分钟`n休息(走动)时间:%WalkInterval% 分钟
return
; ------------------------------------------------------------
; [ApplyAppearance]: 套用外观设置
; ------------------------------------------------------------
ApplyAppearance:
Gui, Submit, NoHide
; 倒数窗口
if (CountFontSizeEdit < 8)
CountFontSizeEdit := 8
CountFontSize := CountFontSizeEdit
CountFontColor := CountFontColorEdit
CountTransLvl := CountTransSlider
Gui, 2:Font, s%CountFontSize% c%CountFontColor%
GuiControl, 2: Font, CountDownOnlyText
WinSet, Transparent, %CountTransLvl%, 倒数窗口
; 提醒窗口
if (RemindFontSizeEdit < 8)
RemindFontSizeEdit := 8
RemindFontSize := RemindFontSizeEdit
RemindFontColor := RemindFontColorEdit
MsgBox, 262208, 外观更新, 已套用新的外观设置!
return
; ------------------------------------------------------------
; [ShowReminder]: 弹出提醒窗口(自动调整大小、按下「确定」才进入下个模式)
; ------------------------------------------------------------
ShowReminder(Title, Msg) {
global
Gui, 3:Destroy
Gui, 3:+AlwaysOnTop +ToolWindow +Caption -MinimizeBox -MaximizeBox
Gui, 3:Font, s%RemindFontSize% c%RemindFontColor% Bold
Gui, 3:Margin, 20, 20
Gui, 3:Add, Text, xm ym +Center +0x200 vReminderText, %Msg%
; 改成 xm (或 x20) 放左边
Gui, 3:Add, Button, x+30 y+20 w100 h40 gCloseReminder, 确定
Gui, 3:Show, AutoSize Center, %Title%
}
; ------------------------------------------------------------
; [CloseReminder]: 用户按下「确定」→ 切换下一模式并重启计时
; ------------------------------------------------------------
CloseReminder:
global currentMode, SitInterval, WalkInterval, timeLeft, timerRunning
; 根据当前模式,切换至对应的下一模式并设置新倒数时间
if (currentMode = "Sit")
{
currentMode := "Walk"
timeLeft := WalkInterval * 60
}
else
{
currentMode := "Sit"
timeLeft := SitInterval * 60
}
; 窗口关闭,重启计时
Gui, 3:Destroy
timerRunning := true
; 即刻更新倒数文本
ShowCountdown()
return
; ------------------------------------------------------------
; [PlayReminderSound]: 播放提示音档
; ------------------------------------------------------------
PlayReminderSound()
{
global AudioFile
if FileExist(AudioFile)
SoundPlay, %AudioFile%
else
SoundBeep, 750, 300
}
; ------------------------------------------------------------
; [GuiClose]: 关闭主窗口 → 结束程序
; ------------------------------------------------------------
GuiClose:
ExitApp
「久坐提醒 -小众…zip」来自UC网盘分享
密码:3RmD
链接: https://pan.baidu.com/s/1K-Ced7DJpVDvjMm-HHyKxA?pwd=eipv 提取码: eipv 复制这段内容后打开百度网盘手机App,操作更方便哦
–来自百度网盘超级会员v8的分享
我用夸克网盘分享了「久坐提醒 -小众…zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:夸克网盘分享
提取码:qqjR
https://115cdn.com/s/swhgond3zjr?password=a5b3&#
久坐提醒 -小众…zip
访问码:a5b3