想寫一個類似蕃茄鐘的小工具,可以利用Windows Task Scheduler自動觸發(最小化或系統列執行),當程式執行後開始計時,當計時到數時,可以跳出一個alert window。
語言/工具不限的話,各位有建議的做法嗎?(當做code for fun)
根據你提供的資訊要做的事情如下
特定條件觸發:
你要用 Task Scheduler 做 OK
倒數計時:
用什麼語言都很簡單, 不然用寫個 bat 檔用 batch script 處理也行
不過寫 bat 檔你可能還會想把 cmd 視窗藏起來
出現提示:
不是自己寫就是用現成的通知工具
我之前是用 node.js 作一個小工具去抓打卡鐘的資料提醒自己打過卡了沒
通知的部份是用 node-notifier 這個套件幫我呼叫 windows 的通知中心
node-notifier 在 windows 是用 snoretoast 當通知工具,不要用 node.js 寫也可以直接下載執行檔來用
另外還有用 LINE Notify 讓手機也能收到通知
你也可以直接執行 chrome.exe 開一個網頁當提示視窗,透過參數設定視窗大小及位置
如果直接把解答丟上來就剝奪你的 code4fun 了,不清楚的地方先自己摸索看看吧
不然現成工具不想用,寫 c# winform 又不夠簡單,不太知道你是想要什麼 XD
其實你寫的大概就是我想試的方向,從你提的list中,提供我兩個想法了
1.用bat做計時(這我還真沒試過,要研究一下),時間到了可以去開一個browser做通知
2.試著用nodejs做看看。
或許有機會我兩個都會來做看看
感謝
BAT 計時
@echo off
rem 50min*60sec=3000 sec
choice /t 3000 /d y /m "wait for 50min. then open 1.txt notification to take a break"
echo Take break>1.txt
start 1.txt
至於要隱藏BAT視窗,我記得是有參數可以指定的,只是要找一下,問題不大。
BAT 真是不錯,簡單又不耗資源
計時我是用 timeout 指令
瀏覽器因為我想設定視窗出現的大小及位置所以是直接去呼叫 chrome.exe 再加上參數,如果不需要控制的話也可以直接 start 一個 html 檔起來
隱藏 bat 簡單一點的方法是弄成捷徑最小化
我是用 vbs 的方式, 不會出現視窗, task scheduler 也可以直接執行 vbs
用 nodejs 當然也沒問題, 如果通知甚至介面想自己做可以去看看 electron.js
timeout 還有倒數顯示,簡直太香了,感謝提供~~
修改如下:
@echo off
rem 50min*60sec=3000 sec
rem choice /t 5 /d y /m "wait for 50min(s) take a break"
rem 從choice 改用timeout 會有倒數顯示
timeout /t 5 /nobreak
start msedge.exe --new-window --ie-mode-file-url "file:///D:/GM/Tools/Bat/test.html"
echo on
exit
Take Manager的啟動指令(可以最小化command prompt windows)
cmd /c start /min "" D:\Tools\Bat\Promodoro_Timer.bat
建議 C# 一票
所以你是要學習還是要最簡單的?
最簡單的直接下載現成的就好了.
話說現在手機預設都有鬧鐘,
直接用手機就好.