iT邦幫忙

0

寫一個定時提醒簡單的小程式,python?PWA?c# win-form? or others?

  • 分享至 

  • xImage

想寫一個類似蕃茄鐘的小工具,可以利用Windows Task Scheduler自動觸發(最小化或系統列執行),當程式執行後開始計時,當計時到數時,可以跳出一個alert window。

語言/工具不限的話,各位有建議的做法嗎?(當做code for fun)

看更多先前的討論...收起先前的討論...
FreeAlarmClockPortable 不用寫程式
froce iT邦大師 1 級 ‧ 2022-04-27 11:24:42 檢舉
網頁。

然後這不用 Task Scheduler...
能抓系統時間就夠了。

用Task Scheduler,你設定麻煩的要死就算了,程式你只要寫跳出的警告而已,連練習都算不上。
gmlin iT邦新手 5 級 ‧ 2022-04-27 12:12:04 檢舉
我本來是想用網頁做,很簡單就setTimeout+alert 就可以,但問題是,當browser是最小化時,alert 是不會有提醒的。

有什麼方法是可以讓網頁像Line收到訊息時可以在工作閃爍,或是直接popup 出來也可以
archer9080 iT邦研究生 3 級 ‧ 2022-04-27 13:18:26 檢舉
Notification
franx0722大說的應該是最快的方式
gmlin iT邦新手 5 級 ‧ 2022-04-27 21:41:59 檢舉
剛剛試了一下Notification,發現有個問題,我是使用file:///d:/xxx.html方式執行的,而chrome的允許傳送通知設定,似乎不支援file:///設為允許。(我怎麼選它都是跳回詢問,但嚐試設定其它http://是可以正常變更)
試試這個吧...可以將網頁最大化.

https://www.google.com/search?q=windows+javascript+%E6%9C%80%E5%A4%A7%E5%8C%96&rlz=1C1CHZN_zh-TWTW1002&sxsrf=APq-WBv_8enXDUAxlJyxnJXV9-RJraFnQg%3A1651092954905&ei=2q1pYo_2NpKV-AautZSACw&ved=0ahUKEwiPy8XIkLX3AhWSCt4KHa4aBbAQ4dUDCA4&uact=5&oq=windows+javascript+%E6%9C%80%E5%A4%A7%E5%8C%96&gs_lcp=Cgdnd3Mtd2l6EAM6BwgAEEcQsAM6BQgAEIAEOgQIABAeOgUIIRCgAUoECEEYAEoECEYYAFBTWJQaYKkdaAFwAXgAgAFyiAGqCJIBAzkuM5gBAKABAcgBCsABAQ&sclient=gws-wiz
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
rainbowrain
iT邦新手 2 級 ‧ 2022-04-28 16:16:50
最佳解答

根據你提供的資訊要做的事情如下

  1. 特定條件觸發
  2. 倒數計時
  3. 出現提示

  1. 特定條件觸發:
    你要用 Task Scheduler 做 OK

  2. 倒數計時:
    用什麼語言都很簡單, 不然用寫個 bat 檔用 batch script 處理也行
    不過寫 bat 檔你可能還會想把 cmd 視窗藏起來

  3. 出現提示:
    不是自己寫就是用現成的通知工具
    我之前是用 node.js 作一個小工具去抓打卡鐘的資料提醒自己打過卡了沒
    通知的部份是用 node-notifier 這個套件幫我呼叫 windows 的通知中心
    node-notifier 在 windows 是用 snoretoast 當通知工具,不要用 node.js 寫也可以直接下載執行檔來用

另外還有用 LINE Notify 讓手機也能收到通知

你也可以直接執行 chrome.exe 開一個網頁當提示視窗,透過參數設定視窗大小及位置


如果直接把解答丟上來就剝奪你的 code4fun 了,不清楚的地方先自己摸索看看吧
不然現成工具不想用,寫 c# winform 又不夠簡單,不太知道你是想要什麼 XD

看更多先前的回應...收起先前的回應...
gmlin iT邦新手 5 級 ‧ 2022-04-29 09:22:52 檢舉

其實你寫的大概就是我想試的方向,從你提的list中,提供我兩個想法了
1.用bat做計時(這我還真沒試過,要研究一下),時間到了可以去開一個browser做通知
2.試著用nodejs做看看。

或許有機會我兩個都會來做看看

感謝

gmlin iT邦新手 5 級 ‧ 2022-04-29 09:36:37 檢舉

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

gmlin iT邦新手 5 級 ‧ 2022-04-29 14:07:10 檢舉

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
2
海綿寶寶
iT邦大神 1 級 ‧ 2022-04-27 11:24:36

建議 C# 一票

看更多先前的回應...收起先前的回應...
gmlin iT邦新手 5 級 ‧ 2022-04-27 12:13:53 檢舉

本來c# application-form project 都開好了,但突然想說,還有沒有其它更簡單(快速)的做法,才上來一問

franx0722 iT邦新手 2 級 ‧ 2022-04-27 13:09:51 檢舉

有 win10 內建[鬧鐘與時鐘] 不用寫 不用下載 直接用

gmlin iT邦新手 5 級 ‧ 2022-04-27 13:35:44 檢舉

因為我想結合Task Scheduler 當解鎖/登入電腦時自動啟動計時

0
小魚
iT邦大師 1 級 ‧ 2022-04-27 13:36:28

所以你是要學習還是要最簡單的?
最簡單的直接下載現成的就好了.
話說現在手機預設都有鬧鐘,
直接用手機就好.

gmlin iT邦新手 5 級 ‧ 2022-04-27 13:45:30 檢舉

因為我想結合Task Scheduler 當解鎖/登入電腦時自動啟動計時,再來也是算一種code4fun

0
eric19740521
iT邦新手 1 級 ‧ 2022-04-28 04:58:35
gmlin iT邦新手 5 級 ‧ 2022-04-29 09:17:18 檢舉

第一次看到b4a,雖然是for Mobile,只是我是想run在Windows。

不過看起來似乎是不錯的簡易APP開發tool,有機會來研究看看,謝謝告知

PS.這語法好像Basic啊~~

B4x跨平台

windows找b4J

我要發表回答

立即登入回答