新手制作(自动疲劳提醒)软件请教高手(已解决)
本帖最后由 guang19831217 于 2010-11-15 12:15 编辑我是新手,电脑不关机的,请教高手这个要修改怎么才能9 10 11 12小时每次到时间运行一次。现在到时
间如9点的提醒有很多遍。造成重复提醒。; 请置于脚本顶部
$g_szVersion = "自动疲劳提醒"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)
; 下面是脚本的其它代码
FileCreateShortcut(@ScriptFullPath, @StartupCommonDir & "\自动疲劳提醒.lnk")
Opt("TrayIconHide", 1)
While 1
if @HOUR = 9 then
Opt("TrayIconHide", 0)
TrayTip("提醒:你已经连续工作1小时了","请适当休息几分钟...",20,1)
TrayTip("提醒:善于劳逸结合,注意保护眼睛","请适量做些运动...",20,1)
Sleep(20000)
Opt("TrayIconHide", 1)
endif
if @HOUR = 10 then
Opt("TrayIconHide", 0)
TrayTip("提醒:你已经连续工作2小时了","请适当休息几分钟...",20,1)
TrayTip("提醒:善于劳逸结合,注意保护眼睛","请适量做些运动...",20,1)
Sleep(20000)
Opt("TrayIconHide", 1)
endif
if @HOUR = 11 then
Opt("TrayIconHide", 0)
TrayTip("提醒:你已经连续工作3小时了","请适当休息几分钟...",20,1)
TrayTip("提醒:善于劳逸结合,注意保护眼睛","请适量做些运动...",20,1)
Sleep(20000)
Opt("TrayIconHide", 1)
endif
if @HOUR = 12 then
Opt("TrayIconHide", 0)
TrayTip("提醒:你已经连续工作4小时了","请适当休息几分钟...",20,1)
TrayTip("提醒:善于劳逸结合,注意保护眼睛","请适量做些运动...",20,1)
Sleep(20000)
Opt("TrayIconHide", 1)
endif
WEnd ; 循环结束 @HOUR 是 当前时钟的时值(24时制),值的范围是 00 到 23
只要时间是9点以后,他会每隔20秒运行一次! 时间的判断要精确的秒。 只判断了小时,而没有对分、秒作判断。即9点时每20秒提醒一次。
以下代码未作测试。
local $hour=9
while $hour<13
if @HOUR = $hour and @min<1 then
if msgbox(4,"提醒","知道了!")=6 then $hour+=1
endif
sleep(100)
wend
楼上的代码。。。。帅 是不是要判断到小时,分、秒,就不会每20秒提醒一次,想问下有没有9点运行后退出,但不退出程序的判断,我下面还想增加的时间很乱,没规律的。高手真多,3mile 大大真厉害,谢谢各位大大。 回复 6# guang19831217
你把你的第一个问题研究明白了,后面的问题就就懂了,道理都是一样的 其实也可以使用系统的计划任务·不占用进程,不过一个计划任务不能设置1天内多次运行。 谢谢大大们的指点。我会努力学习的。 本帖最后由 yinui 于 2010-11-15 13:05 编辑
一个蠢办法:
一个小时只提示一次; 请置于脚本顶部
$g_szVersion = "自动疲劳提醒"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)
; 下面是脚本的其它代码
FileCreateShortcut(@ScriptFullPath, @StartupCommonDir & "\自动疲劳提醒.lnk")
Opt("TrayIconHide", 1)
While 1
if @HOUR = 9 and @HOUR9 <> 1 then
Opt("TrayIconHide", 0)
TrayTip("提醒:你已经连续工作1小时了","请适当休息几分钟...",20,1)
TrayTip("提醒:善于劳逸结合,注意保护眼睛","请适量做些运动...",20,1)
@HOUR9 = 1
Sleep(20000)
Opt("TrayIconHide", 1)
endif
if @HOUR = 10and @HOUR10 <> 1 then
Opt("TrayIconHide", 0)
TrayTip("提醒:你已经连续工作2小时了","请适当休息几分钟...",20,1)
TrayTip("提醒:善于劳逸结合,注意保护眼睛","请适量做些运动...",20,1)
@HOUR10 = 1
Sleep(20000)
Opt("TrayIconHide", 1)
endif
if @HOUR = 11and @HOUR11 <> 1 then
Opt("TrayIconHide", 0)
TrayTip("提醒:你已经连续工作3小时了","请适当休息几分钟...",20,1)
TrayTip("提醒:善于劳逸结合,注意保护眼睛","请适量做些运动...",20,1)
@HOUR11 = 1
Sleep(20000)
Opt("TrayIconHide", 1)
endif
if @HOUR = 12and @HOUR12 <> 1 then
Opt("TrayIconHide", 0)
TrayTip("提醒:你已经连续工作4小时了","请适当休息几分钟...",20,1)
TrayTip("提醒:善于劳逸结合,注意保护眼睛","请适量做些运动...",20,1)
@HOUR12 = 1
Sleep(20000)
Opt("TrayIconHide", 1)
endif
if @HOUR > 12Or@HOUR < 9 then
@HOUR8 = 0
@HOUR9 = 0
@HOUR11 = 0
@HOUR12 = 0
endif
sleep(1000)
WEnd ; 循环结束 高手真多,学习了,谢谢。我正在学习精确到秒,那样打基础应该能好些。 正需要,好好看看
页:
[1]