利用VBScript寫一個定時任務彈窗-提醒休息或喝水

圖片描述

做爲一個程序員,在學習或工做的過程當中要長時間地面對電腦,常常會出現忘記休息或喝水的時候,有時候一坐就是好幾個小時。html

這對於身體健康是很是不利的,我之前也不是很在乎,通常就是口渴了才喝水。直到最近這幾天感受到喉嚨有點不舒服,多是發炎了,我才意識到這是身體內部發出的抗議信號。git

實際上,當你感受到口渴的時候,你的身體實際上是很是缺水了。因此,咱們應該有規律地喝水,通常隔段時間就喝下。程序員

鬧鐘 or 倒計時

但是對於不少人來講,要大腦自動條件反射來喝水是很難實現的。所以咱們要經過外部手段來提醒咱們。github

提醒的方式有不少,好比設置幾個鬧鐘,或者是倒計時。惋惜這種利用手機的方式也存在一個弊端,有時候太專一於工做而沒有時間看手機的話,那麼鬧鐘和倒計時也無效了。編程

利用腳本寫提醒工具

所以,爲了更好地解決上面的問題,咱們能夠從本質出發,通常來講,程序員一天工做時面對電腦的時間較多,那麼咱們能夠在電腦上面寫一個定時任務。工具

個人作法是在Windows系統上面寫VBScript腳本,每隔一段時間就彈窗,提醒我喝水。oop

具體實現

本文主要介紹怎麼在Windows系統下用VBScript寫一個簡易的定時任務彈窗。學習

若是是Macbook,能夠用AppleScriptLinux系統能夠用Shellspa

什麼是VBScript

VBScript是微軟開發的一門腳本語言,使用VBScript,能夠在Windows系統下編寫自動任務等等。
VBScript文件以.vbs爲後綴,Windows系統下能夠直接雙擊運行,代碼由C:\Windows\System32下面的wscript.exe負責解釋執行。code

VBScript教程

我在寫這個彈窗小工具以前,沒有系統學習過VBScript,現學現用,只是粗略學習了一下,若是想系統瞭解的,能夠看一下菜鳥教程

用到的VBScript知識

這個小工具其實很簡單,核心就幾行代碼,相似網頁中的setInterval,而後時間一到就alert

下面具體介紹代碼中用到的VBScript知識。

  1. Dim variableName: 定義變量
  2. Do ... Loop: 循環,相似do ... while(true)
  3. If ... Then ... Else ... End If: 條件結構
  4. InputBox: 相似網頁中的window.propmt
  5. MsgBox: 相似網頁中的window.alert

詳細代碼

如下貼出該工具的所有代碼。

Dim interval
Dim ret

' set task's interval
Do
  interval = InputBox("Please input the interval:", "Interval(seconds)", 30 * 60 * 1000)

  If interval = vbEmpty Then
    ' click cancel
    MsgBox "You input empty, interval is set default half an hour."
    interval = 1800000
    Exit Do
  End If

  If Not IsNumeric(interval) Then
    ' input what is't a numeric
     MsgBox "Please input number"
   Else
     Exit Do
  End If
Loop

' execute interval task
Do
  ret = MsgBox("Drink some water", vbOKCancel, "Time up")
  If ret = 1 Then
    Wscript.sleep interval
  Else
    MsgBox "Close notification", vbOkOnly, "Close notification"
    Exit Do
  End If
Loop

總結

有時候發現編程可以用在日常的生活中,仍是挺有趣的。

最後附上項目的 Github地址,歡迎 Star或Fork支持,謝謝。
相關文章
相關標籤/搜索